3

目前我正在开发一个使用物理引擎(Farseer for XNA)的简单游戏。

我想问我怎样才能让角色可以在地上行走,在平台上跳跃而不旋转。

因为我需要更新身体位置和旋转,因为它是一个物理对象,所以它会像往常一样做出响应,它会自行旋转。

有谁知道我该如何解决?

4

1 回答 1

5

对于 Farseer 2.1,您可以设置:

body.MomentOfInertia = float.PositiveInfinity;

Farseer 3.0 似乎有一个固定旋转的标志,它似乎在内部做同样的事情:

body.FixedRotation = true;

虽然我在物理更新后也将旋转设置为零,但为了确定:

body.Rotation = 0;

不要害怕进入,在你的物理更新运行之后,改变你“不喜欢”的任何物理值。大多数游戏都是假的和捏造的东西。

于 2010-08-06T03:05:35.290 回答