【问题标题】:cocos2d js - Touch on overlay sprites that move up togethercocos2d js - 触摸一起向上移动的叠加精灵
【发布时间】:2016-02-08 20:19:39
【问题描述】:

我使用最新版本的 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);
         }      
    }
});

如何防止将它们一起移动而只移动一个精灵?

谢谢。

【问题讨论】:

    标签: sprite overlay cocos2d-js


    【解决方案1】:

    onTouchBegan 必须返回布尔值作为结果,如果返回true 则表示触摸已处理并且事件循环将停止。如果 rect 包含点,请尝试返回 true
    希望这可以帮助。对不起我的英语。

    【讨论】:

    • 它有效。我在示例代码中看到了返回,但我不知道它的用途。我试图谷歌但没有任何解释。非常感谢。 :)
    猜你喜欢
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多