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);

 

转载于:https://www.cnblogs.com/dudu580231/p/4375230.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值