根据CCLayer 的源代码,若touchEnable为true, 在onEnter(),onExit()分别会注册监听及解除监听,这样一样就不会自己写监听.
需要注意的是默认监听多点触摸,即不会调用
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
另外CCLayer提供了一个setTouchMode(ccTouchesMode mode) 来设定监听点击的类型,
typedef enum {
kCCTouchesAllAtOnce,
kCCTouchesOneByOne,
} ccTouchesMode;
所以要支持监听单点点击则设置touchMode为 kCCTouchesOneByOne
setTouchMode(kCCTouchesOneByOne);
setTouchEnabled(true);
bool GameStartTapLayer::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent){
CCLog("touch!");
return true;
}
转载于:https://blog.51cto.com/chenjohney/1434128