coco2d-x Touch触屏事件的学习

1.场景触屏

当不是继承自CCLayer类时,要检测触屏事件时,可以这么做:

(1)首先开启触屏,代码如下:

this->setTouchEnabled(true)

(2)然后添加触屏事件的触发方法

ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);//触屏开始事件

ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);//拖动事件

ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);//触屏结束事件

2.层触屏(CCLayer)

需重写registerWithTouchDispatcher()函数

void GameScene::registerWithTouchDispatcher()

{

CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,true);

}

然后在onEnter添加

this->setTouchEnabled(true)

最后重写touch函数

    virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
    virtual void ccTouchMoved(CCTouch* touch, CCEvent* event);
    virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);


睡觉了,刚开始学习挺多不懂,大家多多指教!

你可能感兴趣的:(coco2d-x Touch触屏事件的学习)