zoukankan      html  css  js  c++  java
  • cocos2d-x之事件传递(onTouchBegan的返回值的作用)

    cocos2d-x之事件传递(onTouchBegan的返回值的作用)

    只有当onTouchBegan的返回值是true时才执行后面的两个触摸事件

     1 //onTouchBegan表示开始触摸的事件
     2     listener->onTouchBegan = [](Touch *t, Event *e){
     3         //通过事件e来获取到当前的事件的目标,然后获取到目标的边界区域
     4         //e->getCurrentTarget()->getBoundingBox()
     5         //然后判断是否包括一个点,就是触摸点:.containsPoint()
     6         //获取到触摸的位置t->getLocation()
     7         //此时事件的目标即node的边界区域包括了当前的触摸点,说明所触摸的就是当前的对象
     8         if (e->getCurrentTarget()->getBoundingBox().containsPoint(t->getLocation())){
     9             log("onTouchBegan!");
    10         }
    11         
    12         
    13         //只有当onTouchBegan的返回值是true时才执行后面的两个触摸事件
    14         //return false;
    15         return true;
    16     };
    17     //触摸移动事件监听器,当触摸移动的时候执行内部代码
    18     listener->onTouchMoved = [](Touch *t, Event *e){
    19         log("OnTouchMoved>>");
    20     };
    21     //触摸结束事件监听器,当触摸结束的时候执行内部代码
    22     listener->onTouchEnded = [](Touch *t, Event *e){
    23         log("OnTouchEnd----");
    24     };
    25     
    26     
    27     
    28     //getEventDispatcher获取事件的派发器,
    29     //addEventListenerWithSceneGraphPriority(事件, 节点);添加事件监听器
    30     Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, label);
  • 相关阅读:
    【Maven】构建子项目命令Maven clean/install modules
    【DB】Oracle批量导入CSV数据
    【DB】索引与性能
    【Postfix】邮件转存
    【Mybatis】Oracle Sequence序列的失序问题
    【Java】java.sql.SQLRecoverableException 解释
    【I/O】NAS 性能测试
    【Java】JVM线程状态查询
    【Oracle】记录一次数据库连接池性能瓶颈问题
    【JavaMail】
  • 原文地址:https://www.cnblogs.com/dudu580231/p/4375230.html
Copyright © 2011-2022 走看看