官网事件介绍超链接:http://www.cocos2d-x.org/docs/manual/framework/html5/v3/eventManager/zh,1
正处在学习阶段,对着例子学习,在事件处理这块遇到一点疑问。发个帖求助一下各位前辈。
疑问点:
FixedPriority类型事件
API:cc.eventManager.addListener(监听,nodeOrPriority);
若第二个参数为数值类型,则为固定优先级。
首先我第一个疑问是:
这种固定优先级的事件为何不绑定某个元素用呢?
群里以为前辈说是 需要通过区域自己去判断的。于是我改了改demo。发现可以实现FixedPriority类型事件的优先效果。
不过第二个问题来了,
感觉这个监听的处理就非常有限制,内部的处理都是针对sprite2的。不像绑定给node那样可以去到currentTarget()。
不知道是不是我的处理方式有问题,麻烦理解的前辈给讲一下,谢了!
FixedPriority代码:
var listener2 = cc.EventListener.create({
event:cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches:true,
onTouchBegan:function(touch,event){
var locationInNode = sprite2.convertToNodeSpace(touch.getLocation());
var s = sprite2.getContentSize();
var rect = cc.rect(0, 0, s.width, s.height);
if(cc.rectContainsPoint(rect, locationInNode)){
sprite2.opacity = 180;
return true;
}
return false;
},
onTouchMoved:function(touch,event){
var delta = touch.getDelta();
sprite2.x += delta.x;
sprite2.y += delta.y;
},
onTouchEnded:function(touch,event){
sprite2.opacity = 255;
}
});
cc.eventManager.addListener(listener2, -1);