cocos2d-x 触摸事件使用笔记
2013-07-10 00:50
218 查看
昨天准备做一个子弹射击的demo,需要使用多点触摸,使用CCStandardTouchDelegate 类处理多点触摸事件, 新建了helloworld之后 就在头文件里面声明了
然后直接在HelloWorld::init()函数里面调用
再在HelloWorld.cpp文件中实现三个虚函数,结果发现三个触摸响应函数无法捕捉触摸事件,头疼的很,是测试了好几次都不行,接着上网查bill_man的帖子也无果(自己没理解透彻),看到TestCpp类中多点触摸Demo重新定义了
俩函数,咱也测试下,在cpp文件中实现
依然无果,依然是无法捕获触摸事件,没办法对setTouchEnabled(true);下断点,对onEnter()下断点,跟进引擎才发现,在HelloWorld::init()函数中调用的setTouchEnabled(true);不能对多点触摸事件进行注册,原来如此,实际上应该在onEnter()函数中调用开启触摸事件函数才能对当前的HelloWorld CCLayer层进行注册,改为
如下:
对于单点触摸处理类CCTargetedTouchDelegate 则需要手动注册
开启触摸功能函数setTouchEnabled(true); 同样在onEnter()函数中调用。。。
参考文章:http://my.oschina.net/u/169427/blog/101231
http://blog.csdn.net/bill_man/article/details/7214667
virtual void ccTouchesBegan(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); virtual void ccTouchesMoved(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent); virtual void ccTouchesEnded(cocos2d::CCSet *pTouches, cocos2d::CCEvent *pEvent);
然后直接在HelloWorld::init()函数里面调用
setTouchEnabled(true);
再在HelloWorld.cpp文件中实现三个虚函数,结果发现三个触摸响应函数无法捕捉触摸事件,头疼的很,是测试了好几次都不行,接着上网查bill_man的帖子也无果(自己没理解透彻),看到TestCpp类中多点触摸Demo重新定义了
virtual void onEnter(); virtual void onExit();
俩函数,咱也测试下,在cpp文件中实现
void HelloWorld::onEnter() { CCLayer::onEnter(); } void HelloWorld::onExit() { CCLayer::onExit(); }
依然无果,依然是无法捕获触摸事件,没办法对setTouchEnabled(true);下断点,对onEnter()下断点,跟进引擎才发现,在HelloWorld::init()函数中调用的setTouchEnabled(true);不能对多点触摸事件进行注册,原来如此,实际上应该在onEnter()函数中调用开启触摸事件函数才能对当前的HelloWorld CCLayer层进行注册,改为
如下:
void HelloWorld::onEnter() { CCLayer::onEnter(); setTouchEnabled(true); } void HelloWorld::onExit() { CCLayer::onExit(); }终于看到HelloWorld层捕获到多点触摸的事件了。
对于单点触摸处理类CCTargetedTouchDelegate 则需要手动注册
void HelloWorld::registerWithTouchDispatcher() { CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority -1, true); }
开启触摸功能函数setTouchEnabled(true); 同样在onEnter()函数中调用。。。
参考文章:http://my.oschina.net/u/169427/blog/101231
http://blog.csdn.net/bill_man/article/details/7214667
相关文章推荐
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- cocos2d-x 2.X demo学习笔记 6 ----ClickAndMoveTest 触摸事件和移动
- Cocos2d-x学习笔记(五)CCLayer分析及输入事件处理(触摸、重力传感器、按键)
- cocos2d-x 2.X demo学习笔记 9 ----Touches 触摸事件 以及碰撞检测
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- cocos2d-x学习笔记(13)触摸事件(多点触摸)
- iOS开发中使用cocos2d添加触摸事件的方法
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
- Cocos2d-x--非布景层类和非布景层类的子类使用触摸
- Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
- 【Cocos2d-X开发学习笔记】第04期:渲染框架之场景类(CCScene)的使用
- 02.cocos2d-x触摸事件(一)
- cocos2d-x 2.2.2 中cocostudio控件TouchGroup触摸事件
- iOS 学习笔记 触摸事件
- cocos2d - JS 单点触摸事件和鼠标事件
- cocos2d-x js binding 防止触摸事件传递 - sslin
- cocos2d-x 3.1.1 step by step 学习笔记5 菜单使用
- cocos2d-x基础学习--添加触摸事件
- DotNetBar使用笔记之RadialMenuItem点击事件添加