实习小白::cocos2d-x 2.2 study ---------- 双击事件处理

如何实现双击事件

使用计时器方法,以延迟0.3m来执行单击事件,如果在这时间内,又一次点击了,则执行双击事件

代码如下:

 1 在类中声明成员
 2 bool touchFlag;
 3 
 4 在init中初始化
 5 touchFlag = false;
 6 
 7 // 计时器的回调函数
 8 void HeroHandBook::materialUpdate( float dt ){
 9     // 如果是双击事件
10     if(touchFlag){
11         touchFlag = false;    // 设置为单击事件
12         // 单击事件所要执行的内容
13         CCLOG("---- silent touch Material Icon one ----");
14     }
15 }
16 
17 // 点击事件的回调函数
18 void HeroHandBook::materialCallBack( CCObject* object, TouchEventType n ){
19 
20     switch ( n )
21     {
22     case TOUCH_EVENT_ENDED:
23         {
24             // 开始的时候是false的,所以跳过执行else中的内容
25             // 执行的是双击事件的内容
26             if(touchFlag){
27                 touchFlag = false;
28                 CCLOG("---- silent touch Material Icon two ----");
29             }
30             else{
31                 // 延时执行单击事件的内容
32                 scheduleOnce(schedule_selector(HeroHandBook::materialUpdate), 0.3f);
33                 touchFlag = true;
34             }
35         }
36         break;
37     default:
38         break;
39     }
40 }                        

 

posted @ 2015-11-17 18:02  silent-bobo  阅读(102)  评论(0编辑  收藏  举报