Физическое перекрытие аркад в Phaser.js не работает - PullRequest
0 голосов
/ 30 октября 2019

Ранее мне удалось включить обнаружение столкновений с помощью наложений на физические объекты фазерной аркады. Столкновение было между лазерами, летящими на игрока и игрока. Я изменил игру, чтобы несколько «игроков» играли в качестве одновременных ИИ, чтобы увернуться от лазеров. Вместо того, чтобы один игрок представлял собой физический объект фазера, теперь у меня есть массив. Но сейчас моя старая команда не работает. По какой-то причине он думает, что игроки и лазер (копье) сталкиваются в момент создания лазера, а они нет. Это приводит к тому, что игроков мгновенно убивают, и я не понимаю, почему. Моя предыдущая реализация, которая работала:

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));
    }
}
...