Ранее мне удалось включить обнаружение столкновений с помощью наложений на физические объекты фазерной аркады. Столкновение было между лазерами, летящими на игрока и игрока. Я изменил игру, чтобы несколько «игроков» играли в качестве одновременных ИИ, чтобы увернуться от лазеров. Вместо того, чтобы один игрок представлял собой физический объект фазера, теперь у меня есть массив. Но сейчас моя старая команда не работает. По какой-то причине он думает, что игроки и лазер (копье) сталкиваются в момент создания лазера, а они нет. Это приводит к тому, что игроков мгновенно убивают, и я не понимаю, почему. Моя предыдущая реализация, которая работала:
this.physics.add.overlap(this.player, this.spears[nSpears-1][1], this.die);
Мой текущий код:
for (var i = 0; i < this.players.length; i++){
if (this.players[i][1] == 'alive'){
this.physics.add.overlap(this.players[i][0], this.spears[nSpears-1][1], this.die(i));
}
}