如何从 Phaser 3 中的组中获取单个成员?

How to get a single member from a group in Phaser 3?

在我的 Phaser 3 游戏中,我有一个名为 OBS 的组。现在我的游戏需要从 OBS 中随机获取一个成员并检测组成员(来自 OBS)与另一个名为 Player 的精灵之间的碰撞。我查阅了文档,但无法弄明白。

Group - Notes of Phaser 3

根据您提到的文档,您将找到如何将游戏 Object 添加到这样的组

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

但事实上,如果你看一下 The Collider Callback Notes and The Physics Group Notes 创建一个有碰撞的组,你必须这样做

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

每当玩家与您称为 OBS 的组发生碰撞时,这将触发 myHandler 函数,只需将 group 替换为其名称即 OBS

当然你必须启用 body 但我认为通过像这样添加组应该可以工作因为我实际上仍然在 Phaser 2 CE 的逻辑中并传递给 v3

现在回答你问题的第二部分,事实上,一个组可以被视为一个数组,实际上取决于你如何编码你的游戏,你将能够访问某个游戏 Object 在你的群组中 group.getChildren();