【问题标题】:How do I set configuration for a group in Phaser 3?如何在 Phaser 3 中为组设置配置?
【发布时间】:2021-08-03 20:39:46
【问题描述】:

在我的 Phaser 3 游戏中,我有一个名为 OBS 的组,用于存储所有障碍精灵。

OBS = this.physics.add.group 

我想将从这个组创建的每个孩子的速度设置为一个特定的值说

setVelocityY=40

因此,OBS 组中的每个对象都将以 40 的速度移动。如何为组设置配置,以便我添加到其中的每个对象都以给定的速度移动并共享其他公共属性?

【问题讨论】:

    标签: javascript phaser-framework


    【解决方案1】:

    有多种方法可以做到这一点。

    1. 使用配置 - 您可以在创建group 时传递PhysicsGroupConfig,并在该配置中设置velocityY,该配置将为该组的每个孩子设置velocityY。您可以在配置中设置许多属性。查看文档。

    2. 使用setVelocitysetVelocityY等组的方法 - 如果您想在创建组后设置速度,您可以使用setvelocityYsetVelocity等组的方法。

    【讨论】:

      【解决方案2】:

      您可以使用 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;
      }
      

      【讨论】:

        猜你喜欢
        • 2020-11-14
        • 1970-01-01
        • 2022-08-18
        • 2019-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 1970-01-01
        相关资源
        最近更新 更多