根據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;
}