在Phaser 3游戏中,我有一个名为OBS的组,用于存储所有障碍精灵。
OBS = this.physics.add.group
我想将从该组创建的每个孩子的速度设置为特定值,例如
setVelocityY=40
因此,OBS组中的每个对象都将以40速度运动。如何为该组设置配置,以使添加到其中的每个对象都以给定的速度运动并具有其他共同属性?
答案 0 :(得分:0)
有多种方法可以做到这一点。
使用配置-
您可以在创建PhysicsGroupConfig时传递group,并在该配置中设置velocityY
,该配置将设置该组中每个子级的velocityY
。您可以在config中设置许多属性。查看文档。
使用setVelocity
或setVelocityY
之类的组方法-如果要在创建组后设置速度,可以使用setvelocityY或setVelocity之类的组方法。 / p>
答案 1 :(得分:0)
您可以使用 for 循环为所有子元素添加属性。
例如。如果你有 3 个子元素,你可以这样做:
var OBSPositions = [
{ x: 50, y: 80 },
{ x: 50, y: 480 },
{ x: 300, y: 480 }
];
OBS = this.physics.add.group;
for (var i = 0; i < OBSPositions.length; i++) {
var OBSchild = OBS.create(
OBSPositions[i].x,
OBSPositions[i].y,
'OBSsprite'
).setScale(0.13, 0.13);
OBSchild.setVelocityY = 40;
}