removeChild后发生Enchant.js碰撞检测

时间:2014-02-12 01:21:40

标签: javascript collision-detection collision removechild

我目前正在使用enchant.js作为游戏引擎进行游戏,我正在尝试将其放在哪里如果玩家精灵和敌人精灵发生碰撞,敌人精灵会被移除而且检测到碰撞的代码不会再执行一次。问题是在删除敌人精灵后,代码仍然在执行。这是网络服务器上的游戏。如果你打开控制台,你可以看到在敌人被移除后(如果你留在敌人以前所处的位置)垃圾邮件“击中”。 http://people.ucsc.edu/~kcilia/dainty_knight/

//Executes code every frame
game.addEventListener('enterframe', function() {
    //detects whether player sprite is within 40
    //pixels of the enemy sprite
    if(knight.within(enemy,40)){
        //prints "hit" if collision is successful
        console.log("hit");
        //removes enemy sprite if collision is successful
        scene.removeChild(enemy);
    }
});

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,但是让敌人变成了一个类,并将内部/相交侦听器+移除到了敌人身上,而且它有效。