Я создаю игру 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
Спасибо!