javascript - 删除指定为子级的 Sprite 给另一个 Sprite - Phaser

标签 javascript sprite phaser-framework

我已将一个 Sprite 指定为另一个 Sprite 的子级。基本上,我正在尝试为巫师配备他的法杖,并让法杖在他移动时跟随他。

Melee.handleInput = function (wizard) {
    if (wizard.state !== STATE.STANDING) {
        var staff = new Melee(game, 0, 0);
        staff.scale.set(.60, .60);
        // Tweak anchor position to correctly align over player
        staff.anchor.setTo(.07, -0.4);
        wizard.addChild(staff);
        wizard.body.velocity.y = 600;
    }

};

但是,我只希望当向导的状态飞行、坠落、跳跃或潜水时发生这种情况,因此使用if语句.

一切顺利。当按下向下箭头时,法杖就会出现,并跟随巫师降落到地面。

现在我希望法师落地后工作人员就走开。但我不知道如何访问员工 Sprite 并杀死它。部分问题可能是它已被指定为另一个 Sprite 的子级。如何访问其他 Sprite 的子级?

提前谢谢您。

最佳答案

最简单的方法是保存引用

wizard.staff = wizard.addChild(staff);
wizard.staff.kill()

但您也可以直接访问子项

wizard.children.forEach(
  function(child){
    if(child instanceof Melee) child.kill();
  }
);

关于javascript - 删除指定为子级的 Sprite 给另一个 Sprite - Phaser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34498300/

相关文章:

assembly - NES(6502组装) Sprite 机芯

cocoa - 如何用 NSImage 绘制 Sprite ?

javascript - 如何让文字在几秒钟后消失

javascript - 图像未显示在移相器 3 中

javascript - 尝试在我使用 Phaser 制作的游戏中宣布获胜者,但它不断重复警报

javascript - 在 SuiteScript 中更改履行的发货方法

javascript - 如果浏览器 lt ie9 执行某些 javascript

javascript - 如何将多个html页面添加到同一个WebView中

javascript - 使用 jquery 更改背景图像颜色?

java - 坚持 View 滚动以跟随 Sprite