Forge2DGame:无效果设置 - body.position.setFrom(info.delta.game)

Forge2DGame: No effect setting - body.position.setFrom(info.delta.game)

由此 example 您可以通过设置 body.applyLinearImpulse.

来拖动 BodyComponent(不是在可拖动点而是在某些因素)

如果我尝试四处拖动,设置 body.position 我没有任何效果。我希望能够在特定的拖动点拖动 BodyComponent。

示例代码行 37:

  @override
  bool onDragUpdate(DragUpdateInfo info) {
    // final worldDelta = Vector2(1, -1)..multiply(info.delta.game);
    // body.applyLinearImpulse(worldDelta * 1000);
    body.position.setFrom(info.delta.game);
    return false;
  }

切勿直接操作 body.position,因为这可能会破坏物理引擎的稳定性。

对于您的 use-case,您可能想使用 MouseJoint 来代替:

https://github.com/flame-engine/flame/blob/ba617790e4a7ca4dc03f4a2e29de43d42efd3482/packages/flame_forge2d/example/lib/mouse_joint_sample.dart