Cocos2d-x处理双击事件的两种方法!
2014-05-08 16:26
337 查看
在 Cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现。
下面介绍两种方式实现双击事件的处理。
(一)方法一
第一种方法就是利用两次touch之间的时间间隔来判定是单击或者是双击,一般来说,双击,两次touch之间的时间间隔为250ms~300ms(毫秒)。所以利用这个条件就可以对双击进行判断处理了。
注意到由于要获取两次touch之间的touch时间,而且是以毫秒为单位,所以需要用到下面这个方法:
由于要获取两次touch的时间,所以要定义两个long类型的变量用于记录时间;而且定义了一个bool类型的变量记录是否是双击。
初始化为:
接着就是要在 ccTouchesBegan( CCSet * touches, CCEvent * event) 这个方法中(注意要在began这个方法中进行,而非ended这个方法中)进行单击和双击的判断处理了。代码如下:
这样,你单击和双击屏幕的时候就会在终端输出是单击还是双击了。
(二)方法二
下 面这种方法较第一种方法而言,比较简洁,其并不是采用直接比较双击中两次touch的时间间隔,而是比较巧妙的解决这个问题。解决的思路是这样的,我们知 道双击的时间间隔是0.25ms,所以设置了一个延时为0.25ms的schedule,如果在这0.25ms中又touch,那么表示的是双击,否则表 示的是单击。具体的实现过程看代码实现,应该是可以理解的。
这种方法只需要使用到一个bool变量表征是否touch。
初始化为:
处理的代码如下:
同样还是在终端中输出是单击还是双击的信息。
通过比较二者实现的方法可以看到,其实二者的实现过程还是有点类似的,只不过判断单击,双击的具体实现过程有点差异,在实际使用过程中建议是使用第二种方法,比较简洁。
转自:http://cocos2d.9tech.cn/news/2014/0324/40088.html
下面介绍两种方式实现双击事件的处理。
(一)方法一
第一种方法就是利用两次touch之间的时间间隔来判定是单击或者是双击,一般来说,双击,两次touch之间的时间间隔为250ms~300ms(毫秒)。所以利用这个条件就可以对双击进行判断处理了。
注意到由于要获取两次touch之间的touch时间,而且是以毫秒为单位,所以需要用到下面这个方法:
(二)方法二
下 面这种方法较第一种方法而言,比较简洁,其并不是采用直接比较双击中两次touch的时间间隔,而是比较巧妙的解决这个问题。解决的思路是这样的,我们知 道双击的时间间隔是0.25ms,所以设置了一个延时为0.25ms的schedule,如果在这0.25ms中又touch,那么表示的是双击,否则表 示的是单击。具体的实现过程看代码实现,应该是可以理解的。
这种方法只需要使用到一个bool变量表征是否touch。
通过比较二者实现的方法可以看到,其实二者的实现过程还是有点类似的,只不过判断单击,双击的具体实现过程有点差异,在实际使用过程中建议是使用第二种方法,比较简洁。
转自:http://cocos2d.9tech.cn/news/2014/0324/40088.html
相关文章推荐
- Cocos2d-x 处理双击事件的两种方法
- Cocos2d-x 处理双击事件的两种方法
- Cocos2d-x 处理双击事件的两种方法
- Cocos2d-x 处理双击事件的两种方法
- Cocos2d-x 处理双击事件的两种方法
- Cocos2d-x之Touch事件处理机制 提供两种触摸事件处理机制:CCStandardTouchDelegate和CCTargetedTouchDelegate。
- 【COCOS2D-X 备注篇】cocos2dx 获取手机截屏等意外取消触屏事件的处理方法!
- 【极客学院出品】Cocos2d-X系列课程之六-用户交互事件处理方法
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- swing处理双击和三击事件的方法
- 【极客学院出品】Cocos2d-X系列课程之六-用户交互事件处理方法
- button事件的两种处理方法
- WPF中控件事件与处理事件具体逻辑方法关联的两种方法
- 【COCOS2D-X 备注篇】cocos2dx 获取手机截屏等意外取消触屏事件的处理方法!
- 表单事件的两种处理方法
- 给dom元素添加事件处理的两种方法
- 【COCOS2D-X 备注篇】cocos2dx 获取手机截屏等意外取消触屏事件的处理方法!
- 实习小白::cocos2d-x 2.2 study ---------- 双击事件处理
- cocos2d-js的自定义事件的两种创建方法
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)