Cocos2d-x中触摸响应
如果继承之CCLayer
在OnEnter中添加
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,false);
那么该Layer就会响应
bool HelloWorld::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
最后一个参数false表示触摸事件是否继续向优先级低的中传递,false表示要传递,true表示不传递,0表示触摸优先级。
CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this,0);
表示响应
void HelloWorld::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)
不论是CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this,0);
还是CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,0,false);
在OnExit中都需要
CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
单点和多点
virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent); virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent); virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent); virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent); virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent); virtuavoid ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
CCMenu的触摸优先级是-128,值越小,触摸优先级越高
相关推荐
Cricket 2020-05-31
woxmh 2019-12-30
CaptainCTR 2019-12-19
86463960 2013-07-15
80487916 2013-07-06
86463960 2013-08-28
BenOnceMore 2013-08-26
89741733 2014-03-20
86201242 2014-05-13
85427010 2014-09-04
文艺小青年 2015-03-26
cooclc 2015-03-26
85427010 2015-05-22
frankwang 2015-05-19
80487916 2015-05-18
进入场景而且过渡动画结束时候触发。提示 GameScene场景中的继承于节点,这些生命周期事件根本上是从Node继承而来。事实上所有Node对象都有这些事件,具体实现代码与GameScene场景类似。
87921036 2015-05-12
85427010 2011-12-31
yizhiyanstart 2011-12-31