, поэтому я пытаюсь получить указанного c дочернего элемента группы, у меня есть группа в сетке, это код для создания группы.
this.enemie1 = this.physics.add.group({
classType: Phaser.Physics.Arcade.Image,
key: Resources.image.enemie1.key,
visible: true,
active: true,
repeat: 44,
setScale: {
x: Settings.game.SCALE*0.00013,
y: Settings.game.SCALE*0.00013,
},
gridAlign:
{
width: 5,
height: 9,
cellWidth: Settings.game.CENTRE_X*0.2,
cellHeight:Settings.game.CENTRE_Y*0.2,
position: Phaser.Display.Align.CENTER,
x: Settings.game.CENTRE_X*-0.87,
y: Settings.game.CENTRE_Y*0.155
}});
this.enemie1.setVelocityX(Config.settings.enemie1Velocity*Settings.game.WIDTH*0.001357)
Итак, группа перемещается в направлении X +, и я хочу установить коллайдер на последней волне группы или любого из членов последней волны, чтобы столкнуться с левой границей мира. Я попытался с помощью приведенного ниже кода для функции update (), но он падает на бесконечность l oop.
let leftWorldBound = this.physics.world.bounds.left
if (this.enemie1.getChildren().every((e) => e.x + 20 > leftWorldBound)) {
this.enemie1.clear(true,true)
this.physics.world.removeCollider(this.playerEnemie1Collider);
this.physics.world.removeCollider(this.enemie1ProjectileCollider);
this.createEnemie2()
}
Я пытался удалить вражеского1. Установите коллайдер и удалите коллайдер внутри коллайдера. Установите leftWorldBound в null, но ничего не работает, если if () все еще выполняется. Я попытался установить коллайдер с левой границей мира и this.enemie1.getChildren()[Number]
, но также не работал.