Как получить одного участника из группы в Phaser 3? - PullRequest
0 голосов
/ 10 мая 2019

В моей игре Phaser 3 у меня есть группа под названием OBS.Теперь моя игра требует случайного получения участника из OBS и обнаружения столкновения между членом группы (из OBS) и другим спрайтом под названием Player.Я посмотрел документы, но не смог понять.

Группа - Примечания к Phaser 3

1 Ответ

2 голосов
/ 10 мая 2019

Согласно документации, которую вы упомянули, вы найдете, как добавить игровой объект в группу, подобную этой

var group = scene.add.group(config);
group.add(gameObject);

Но на самом деле, если вы посмотрите на Заметки обратного вызова коллайдера и Примечания группы физики , чтобы создать группу со столкновением, вы должны сделать что-то вроде этого

var group = this.physics.add.group();
this.physics.add.collider(player, group, myHandler);

Это вызовет функцию myHandler каждый раз, когда игрок сталкивается с группой, которую вы называете OBS, просто заменив group его именем aka OBS

Конечно, вы должны включить тело, но я думаю, что просто добавив группу, как это, она должна работать, потому что я все еще нахожусь в логике Phaser 2 CE и перехожу к v3

Теперь, чтобы ответить на вторую часть вашего вопроса, на самом деле группу можно рассматривать как массив, фактически в зависимости от того, как вы закодировали свою игру, вы сможете получить доступ к определенному игровому объекту в вашей группе с помощью group.getChildren();

...