我已将一个 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/