四大回调函数,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);