如何与团体中的单个成员做出反应
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
我有一堆雪人。他们都是吐温。当一个玩家被一个特定的雪人捕获时,它会被它携带。
创建每个精灵并将其设置为补间是混乱、不便且浪费时间的。 我学会了使用
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