CCLayer中使用registerWithTouchDispatcher注册CCTouchDispatcher
来源:互联网 发布:淘宝可以要发票吗 编辑:程序博客网 时间:2024/05/17 09:27
CCLayer中使用registerWithTouchDispatcher注册CCTouchDispatcher
在CCLayer中经常要注册CCTouchDispatcher来让Layer处理Touch事件。
1.设置
self.isTouchEnabled=YES;
2.
一般情况下我都是在init里面写上如下代码来让Layer注册到CCTouchDispatcher:
CCTouchDispatcher* dispatch = [CCTouchDispatcher sharedDispatcher];
[dispatch addTargetedDelegate:self priority:INT32_MIN+1 swallowsTouches:YES];
[dispatch addTargetedDelegate:self priority:INT32_MIN+1 swallowsTouches:YES];
然后在dealloc中写上如下代码来让Layer从CCTouchDispatcher中移除:
[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
或者 在OnEnter中 注册,在OnExit中移除注册。
3.现在发现一个更好的办法,直接重写 CCLayer的
registerWithTouchDispatcher方法,代码如下:
-(void) registerWithTouchDispatcher
{
CCTouchDispatcher* dispatch = [CCTouchDispatcher sharedDispatcher];
[dispatch addTargetedDelegate:self priority:INT32_MIN+1 swallowsTouches:YES];
}
查看CCLayer中对registerWithTouchDispatcher的相关调用,可以看到在CCLayer中的OnEnter中调用了
registerWithTouchDispatcher,而在OnExit也实现了对self在 CCTouchDispatcher中的移除。
所以只要实现registerWithTouchDispatcher就好了,其他都不需要操心,也不需要关心self在 CCTouchDispatcher中的移除。
- CCLayer中使用registerWithTouchDispatcher注册CCTouchDispatcher
- CCLayer中使用registerWithTouchDispatcher注册CCTouchDispatcher
- registerWithTouchDispatcher 注册触屏事件
- registerWithTouchDispatcher()函数的使用
- registerWithTouchDispatcher()函数的使用
- CCTouchDispatcher
- CCLayer中Touch事件
- CCLayer注册lua回调函数setTouchPriority失效
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- 详解Cocos2d CCLayer中Touch使用方法
- 详解Cocos2d CCLayer中Touch使用方法
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- Cocos2d-x 中CCLayer继承图表
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- cocos2d-x 中CCScene CCLayer CCSprite CCNode
- quickcocos2dx cocostudio的panle中添加cclayer
- Cocos2d-x中在一个CClayer上设置按钮控制另一个CClayer上的对象
- cocos2d CCTouchDispatcher 触摸分发
- Linux LAMP一键安装+testlink+Jira+SVN
- 关于linux驱动(应用)程序头文件使用
- 经典算法研究系列:九、SIFT算法研究
- vs中相对路径的设置问题
- 队列练习 3
- CCLayer中使用registerWithTouchDispatcher注册CCTouchDispatcher
- 解决SecureCRT中文显示乱码
- 堆和栈的区别
- Lua脚本在C++下的舞步(二)
- 栈练习1
- 忘记linux root密码怎么办?
- Madplay移植到mini2440步骤
- boost之asio库,socket相关
- cocos2d-x 屏幕分辨率适配方法