zoukankan      html  css  js  c++  java
  • 实习小白::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 }                        
  • 相关阅读:
    hdu 4334 Trouble
    hdu 4324 Triangle LOVE
    hdu 4255 A Famous Grid
    hdu 3549 Flow Problem
    hdu 3371 Connect the Cities
    hdu 2846 Repository
    hdu 2120 Ice_cream's world I
    P3304 [SDOI2013]直径(【模板】树直径的必经边)
    P5490 【模板】扫描线
    P1364 医院设置(【模板】树的重心)
  • 原文地址:https://www.cnblogs.com/dudu580231/p/4972456.html
Copyright © 2011-2022 走看看