Cocos单点触摸

本文详细介绍了Cocos2d-x中单点触摸事件的处理,包括四大回调函数:began、Move、Ended、Cancled,以及如何设置监听对象、消息派发器、触摸参数对象和事件监听器的优先级。还讲解了如何利用CC_CALLBACK_2绑定类方法和设置吞噬属性。
摘要由CSDN通过智能技术生成


四大回调函数,began负责手按下处理,Move负责移动处理,Ended负责松手,Cancled负责中断(如被电话中断)

1. 消息监听对象:设置回调函数,之后还要将对象(一般是Layer,也可以是Sprite)和回调处理函数绑定到监听对象上

2. 消息派发器:将监听对象加入到派发器,以便将来有消息时,回调指定函数

3. TouchBegan函数

    当触摸开始时被调用,如果返回true,后面的三个函数可以被调用,如果返回false,后面三个函数不会被调用

    返回true时,表示这个触摸对象关心并处理该消息,返回false表示这个触摸对象不关心不处理该消息

4. TouchMoved函数

    该函数回调的频率和FPS的间隔时间是一样的,也就是1.0/60秒

5. Touch参数对象

    getLocation当前手指的位置

    getStartLocation手指按下时位置

    getDelta 上一次moved函数被调用时的位置,到这次moved被调用时的位置之间的偏差

    getID获取触摸id(ID由cocos控制设定,每当一次began函数调用就会有一个ID生成,这样可以明了不同的触摸)

Event参数对象:可用getCurrentTarget,返回当前Layer对象(即当初绑定的层对象)

6. 监听对象EventListenerTouchOneByOne可以设置吞噬属性(屏蔽低优先级监听对象)

    当存在两个touch处理函数,比如优先级高的touch处理叫作touch1,优先级低的叫touch2

    如果touch1设置了吞噬属性为true,那么touch1的TouchBegan函数如果返回true,那么touch2的触摸处理函数得不到处理

    即用setSwallowTouches()

7.this->getEventDispatcher()->addEventListenerWithFixedPriority(evListen,1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值