Cocos2d-x的学习 触碰事件老版本和新版本的对比 第二节
2016-08-11 09:57
232 查看
版本:cocos2d-x 2.2.2 语言:Lua
大清早的起来感觉还是有点热。嗯,直接进入正题吧。
之前也说过在lua版本中使用registerScriptTapHandler有一个明显的缺点,今天我公布一下答案,就是只要按下去就会触发事件,并不是我们普通理解的放开按钮再触发。
我们来回顾一下注册的代码:
在一个MenuItem上使用了该方法,然后如果点击了该菜单(或者按钮),就会触发callbackbt方法,tag是传递节点的setTag传入的值,所以menu_item注意一定要setTag一下,然后再由tag来判断触发了哪一个按钮。
如果你的游戏里只有一个按钮的话,当我没说。
pSender的话就是触碰的实例,当然直接self也就是该实例。
(昨天忘记传代码了,也是醉了,整天不知道在想些什么。传完回来了,继续)
虽然这样也可以用,但是一想到它按下去就直接触发了,我就浑身不自在。放开之后再触发的项目中也用很多,它们是怎么实现的呢?让我去找一下:
以上是lambda表达式一般的注册,这是我自己写的。使用的是registerScriptTouchHandler方法来注册。能够打印出来坐标,也能通过touchType来判断对应的touch事件:
这样再通过convertToNodeSpace转换成节点坐标,判断一下坐标是否在按钮内,就可以决定是否触发相应的事件了。
不过上述代码可能有点疑惑。传入的参数应该用注释的pring(x, y)来打印啊,我网上查了也是这种方法,项目中的代码也是这么写的,怎么到了这里传入的就是个table了呢?具体我也不是很了解,只能说如果大家遇到这个问题两种方法都试试。等我找到具体的原因后再和大家说说。
下一节是2.0 C++版本的触碰事件,3.0 Lua和C++差不多,很多教程最基础也讲了很多,我就不多说了。然后是触碰参数的传递,如果找到的话,就搞个特别篇吧,哈哈。
总结:
2.0Lua版本中两种注册触碰事件:registerScriptTouchHandler、registerScriptTapHandler
大清早的起来感觉还是有点热。嗯,直接进入正题吧。
之前也说过在lua版本中使用registerScriptTapHandler有一个明显的缺点,今天我公布一下答案,就是只要按下去就会触发事件,并不是我们普通理解的放开按钮再触发。
我们来回顾一下注册的代码:
在一个MenuItem上使用了该方法,然后如果点击了该菜单(或者按钮),就会触发callbackbt方法,tag是传递节点的setTag传入的值,所以menu_item注意一定要setTag一下,然后再由tag来判断触发了哪一个按钮。
如果你的游戏里只有一个按钮的话,当我没说。
pSender的话就是触碰的实例,当然直接self也就是该实例。
(昨天忘记传代码了,也是醉了,整天不知道在想些什么。传完回来了,继续)
虽然这样也可以用,但是一想到它按下去就直接触发了,我就浑身不自在。放开之后再触发的项目中也用很多,它们是怎么实现的呢?让我去找一下:
以上是lambda表达式一般的注册,这是我自己写的。使用的是registerScriptTouchHandler方法来注册。能够打印出来坐标,也能通过touchType来判断对应的touch事件:
这样再通过convertToNodeSpace转换成节点坐标,判断一下坐标是否在按钮内,就可以决定是否触发相应的事件了。
不过上述代码可能有点疑惑。传入的参数应该用注释的pring(x, y)来打印啊,我网上查了也是这种方法,项目中的代码也是这么写的,怎么到了这里传入的就是个table了呢?具体我也不是很了解,只能说如果大家遇到这个问题两种方法都试试。等我找到具体的原因后再和大家说说。
下一节是2.0 C++版本的触碰事件,3.0 Lua和C++差不多,很多教程最基础也讲了很多,我就不多说了。然后是触碰参数的传递,如果找到的话,就搞个特别篇吧,哈哈。
总结:
2.0Lua版本中两种注册触碰事件:registerScriptTouchHandler、registerScriptTapHandler
相关文章推荐
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第三节
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第一节
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第四节
- Cocos2d-x学习笔记(二十五)之 加速度传感器事件
- cocos2d-x学习笔记-box2d实现物理引擎新旧版本的不同
- Cocos2d-x学习(三):触屏事件(单点触屏)
- Cocos2d-x学习(十):cocos2d-x 2.0版本中CCScrollView的用法
- 【转】对比SVN学习GIT版本管理工具
- cocos2d-x学习日志(6) --触屏事件
- cocos2d-x学习笔记-触屏事件详解
- 「cocos2d-x」瓦片地图学习之地图滚动及触摸事件处理
- 【Cocos2d-X开发学习笔记】第23期:事件处理机制之按键事件
- 对比SVN学习GIT版本管理工具
- 【Cocos2d-X开发学习笔记】第24期:事件处理机制之加速度传感器事件
- 【Cocos2d-X开发学习笔记】第22期:事件处理机制之触屏事件
- Cocos2d-x学习笔记 (1) 2.1版本后如何利用CCFileUtils设置资源路径
- Cocos2d-x学习(三):触屏事件(单点触屏)
- 对比SVN学习GIT版本管理工具
- 对比SVN学习GIT版本管理工具
- 【Cocos2d-X开发学习笔记】第22期:事件处理机制之触屏事件