cocos2d js-触摸一起向上移动的叠加精灵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2d js-触摸一起向上移动的叠加精灵相关的知识,希望对你有一定的参考价值。

我使用最新版本的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。希望这可以帮助。对不起,我的英语。

以上是关于cocos2d js-触摸一起向上移动的叠加精灵的主要内容,如果未能解决你的问题,请参考以下文章

iPhone,Cocos2D - 在触摸屏时向左/向右移动精灵

cocos2d中设置精灵的边界框

Cocos2d 检测特定精灵的触摸

cocos2d 3.x 如何处理精灵外部的触摸

Cocos2d,在竖直放置时使用加速度计在具有 x 轴的横向错误中移动精灵

使用iPhone应用程序中的过渡移动要触摸的对象