我使用最新版本的cocos2d-js来创建我的游戏。在游戏屏幕上,我连续添加了多个精灵叠加层,像这样叠加精灵
我添加了一个事件侦听器,以便在单击时在 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
则表示触摸已处理并且事件循环将停止。尝试返回true
,如果矩形包含点。希望这有帮助。对不起我的英语。