Свернуть с указанным c дочерним элементом группы - PullRequest
1 голос
/ 15 января 2020

, поэтому я пытаюсь получить указанного 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], но также не работал.

...