cocos2d-x如何让自己自定义的精灵能够动态地添加监听事件
添加事件触摸消息,判断点击区域是否在精灵返回
var listener = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true, // 返回true,就吞噬
onTouchBegan: function (touch, event) {
var target = event.getCurrentTarget(); //点击的对象
var locationInNode = target.convertToNodeSpace(touch.getLocation()); // 点击的位置和点击对象之间的距离
var s = target.getContentSize();
var rect = cc.rect(0, 0, s.width, s.height); // 点击范围
if (cc.rectContainsPoint(rect, locationInNode)) { // 对比点击位置是否在选定的层
return true;
}else{
return false;
}
}
});
cc.eventManager.addListener(listener, this); // 添加到事件管理