如何与团体中的单个成员做出反应

How to react with a single member of a group

我有一堆雪人。他们都是吐温。当一个玩家被一个特定的雪人捕获时,它会被它携带。

创建每个精灵并将其设置为补间是混乱、不便且浪费时间的。 我学会了使用

const snowman = this.physics.add.group(); snowman.create(x, y, 'key');

但这并没有给每个雪人一个名字。当我在携带玩家时设置玩家的 X 和 Y,我将其设置为击中他的雪人的 x 和 y。如果我使用上面的代码,它显然不再有效。可以做什么?

好吧,不知道你的代码。我会:

  • 创建一个变量来标记捕获玩家的雪人
  • 当玩家与一个雪人相撞时,设置变量。这样你就知道是哪个雪人了

create函数中:

function create(){

    ...
    this.mainSnowMan = undefined; // at the begining no snowman is selected
    this.physics.add.collider(player, snowman, (player, currentsnowman) => {
        ...
        this.mainSnowMan = currentsnowman; // set the snowman that collided with the player
    });
    ...
}

collider 函数的文档 https://photonstorm.github.io/phaser3-docs/Phaser.Physics.Arcade.Collider.html

这是一个 link so man phaser 物理示例:https://phaser.io/examples/v3/category/physics/arcade