我使用最新版本的cocos2d-js来创建我的游戏。在游戏屏幕上,我连续添加了多个精灵叠加,就像这样Overlay sprites
我添加了一个事件侦听器,以在单击它时将其在y轴上向上移动。但是,当我单击任意两个精灵包含的点时,两个精灵会一起向上移动。
这是我的事件侦听器代码
var listener = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches: true,
onTouchBegan: function (touch, event) {
var target = event.getCurrentTarget();
var location = target.convertToNodeSpace(touch.getLocation());
var targetSize = target.getContentSize();
var targetRectangle = cc.rect(0, 0, targetSize.width, targetSize.height);
if (cc.rectContainsPoint(targetRectangle, location)){
target.setPositionY(50);
}
}
});
如何防止将它们向上移动并仅移动一个精灵?
谢谢。
onTouchBegan
必须返回布尔值作为结果,如果返回true
,则意味着触摸已处理,事件周期将停止。如果rect包含点,则尝试返回true
。希望这可以帮助。对不起,我的英语。