Cocos2d-x的学习 触碰事件老版本和新版本的对比 第二节
来源:互联网 发布:mac重置管理员账户 编辑:程序博客网 时间:2024/05/01 18:19
版本: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
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第二节
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第四节
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第一节
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第三节
- AFN老版本和新版本的分别使用
- cocos2d-x的触碰事件
- cocos2d-x的多点触碰事件
- 【cocos2D-x学习】15.cocos2d-x 2.0 版本的 ShatteredSprite
- onvif新版本发现不了老版本onvif的ipc问题
- 【objc】基础结构objc_class的布局,老版本vs新版本
- 老版本向新版本u3d转换的几个问题
- 关于vs老版本转换新版本的一些问题
- Cocos2d-x setContentSize后一个奇怪的现象,老版本的失误
- Box2D和Chipmunk的对比 Cocos2d-x物理引擎
- cocos2d-x常用 及新版本的一些变化
- Cocos2d-x 可响应触碰事件的 CCSprite
- cocos2d之触屏事件处理机制(2.x和3.x的变化)
- Cocos2d-x学习(十):cocos2d-x 2.0版本中CCScrollView的用法
- HTML 拖拽效果
- 1912: 小火山的爱情密码 (尺取比二分果然更有优势)
- POJ 1769 Minimizing maximizer
- 总结系列-LayoutInflater的inflate函数用法详解
- 分布式任务调度中间件SchedulerX
- Cocos2d-x的学习 触碰事件老版本和新版本的对比 第二节
- Android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据
- java大整数比大小
- 初学c/c++——提及文件操作
- yii 2.0 安装
- struts标签--logic总结
- 双向队列
- POJ 1094(TopoSort)
- android studio生成aar包并在其他工程引用aar包