Phaser. js Сделайте спрайт-группу следовать за спрайтом - PullRequest
0 голосов
/ 29 апреля 2020

Я создаю игру Phaser. js. У меня есть спрайт игрока и группа спрайтов противника (скелета), которая создает скелет динамически каждые 3 секунды. Как я могу заставить скелеты двигаться к игроку?

Я попробовал метод .moveToObject(), но это выдает ошибку, потому что скелет не определен.

Вот мой проект:

const gameState = {};

[...]

function create() {
    gameState.player = this.physics.add.sprite(330, 245, 'player', 18).setScale(.7);
    gameState.player.setCollideWorldBounds(true);

[...]

gameState.cursors = this.input.keyboard.createCursorKeys();

    const skeletons = this.physics.add.group();
    function skeletonGen() {
        const xCoord = Math.random() * 700;
        const yCoord = Math.random() * 500;
        skeletons.create(xCoord, yCoord, 'skeleton', 18).setScale(.55);
    }

    const skeletonGenLoop = this.time.addEvent({
        delay: 2000,
        callback: skeletonGen,
        callbackScope: this,
        loop: true
    });

    this.physics.add.collider(gameState.player, skeletons, () => {
        this.physics.pause();
        skeletonGenLoop.destroy();
        this.add.text(0,0, 'Game Over', { fontSize: '25px', fill: '#000000' });
    });
}

function update() {

[...]

// only the player movement so far

Спасибо!

...