【2014-01-20】cocos2dx学习笔记:吞噬事件相应 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2014-01-20 标题cocos2dx学习笔记吞噬事件相应分类编程 / C C / cocos2dx 标签cocos2dx·事件响应cocos2dx学习笔记吞噬事件相应上层Layer捕获所有的相应防止底层接收备注.h文件.cpp文件最近项目中用到了cocos2dx来开发一个基于陀螺仪的demo忙了半个星期一边学习一边开发总算搞了出来。这里备份下开发中学习到的一些cocos2dx知识。上层Layer捕获所有的相应防止底层接收我们在做开发的时候往往有N层layer有的layer里面有menu就会被误响应这里备份一份简单的解决办法。备注解决办法是参考网上的一些教程根据menu的响应优先级为-128来屏蔽的。作者开发时比较赶项目没有仔细的学习cocos2dx源码后续需要仔细学习下cocos2dx的事件分发机制。.h文件classShowLogoLayer:publiccocos2d::CCLayer{public:CREATE_FUNC(ShowLogoLayer);virtualboolinit();voidfinishMe();virtualboolccTouchBegan(cocos2d::CCTouch*pTouch,cocos2d::CCEvent*pEvent);virtualvoidccTouchMoved(cocos2d::CCTouch*pTouch,cocos2d::CCEvent*pEvent);virtualvoidccTouchEnded(cocos2d::CCTouch*pTouch,cocos2d::CCEvent*pEvent);virtualvoidccTouchCancelled(cocos2d::CCTouch*pTouch,cocos2d::CCEvent*pEvent);};.cpp文件voidShowLogoLayer::finishMe(){CCDirector::sharedDirector()-getTouchDispatcher()-removeDelegate(this);this-removeFromParent();}boolShowLogoLayer::init(){if(!CCLayer::init()){returnfalse;}//。。。//。。。CCDirector::sharedDirector()-getTouchDispatcher()-addTargetedDelegate(this,-128-1,true);returntrue;}boolShowLogoLayer::ccTouchBegan(CCTouch*pTouch,CCEvent*pEvent){finishMe();returntrue;}voidShowLogoLayer::ccTouchMoved(CCTouch*pTouch,CCEvent*pEvent){//do nth}voidShowLogoLayer::ccTouchEnded(CCTouch*pTouch,CCEvent*pEvent){//do nth}voidShowLogoLayer::ccTouchCancelled(CCTouch*pTouch,CCEvent*pEvent){//do nth}