我使用最新版本的cocos2d-js来创建我的游戏。在游戏屏幕上,我连续添加了多个精灵,如下所示 Overlay sprites
我添加了一个事件监听器,用于在点击时在y轴上向上移动一个精灵。但是,当我点击任意两个精灵包含的点时,两个精灵一起向上移动。
这是我的事件监听器代码
var listener = cc.EventListener.create({
event:cc.EventListener.TOUCH_ONE_BY_ONE,
swallowTouches:是的,
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);
}
}
});
如何防止将它们一起移动并仅移动一个精灵?
感谢。
答案 0 :(得分:0)
onTouchBegan
必须返回布尔值作为结果,如果返回true
则表示触摸已处理且事件周期将停止。如果rect包含point,请尝试返回true
。
希望这可以帮助。对不起我的英语。