目前cocos2djs是入门阶段,在处理sprite点击事件时出了一个问题–触发事件的区域与sprite的区域不吻合.通过查找,找到了如下解决方式
var ToEvaOnClickListener = cc.EventListener.create({
event : cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches : true,
onTouchBegan : function (touch,event){
var pos = touch.getLocation();
var target = event.getCurrentTarget();
if(!cc.rectContainsPoint(target.getBoundingBox(), pos))return false;
cc.log('click');
}
});
cc.eventManager.addListener(ToEvaOnClickListener.clone(), spriteToEva);
通过判断区域来决定是否响应点击.
解决方式应该是通过stackoverflow获得的,但很难找到链接了.