3

在 Unity 中,我有一个播放器,您可以按 A 和 D 左右移动,按空格键跳跃(我也在尝试添加触摸控制)。当我将 collider2d 添加到我的 Player 对象时,该对象将不允许我使用 Rigidbody2D.AddForce。它根本不会改变我的角色。有人知道为什么吗?

PS:我知道这与我的输入无关,因为当我直接编辑位置时(例如player.transform.position.y += 1)它可以工作,但看起来玩家只是在传送,所以我不想这样做。

4

2 回答 2

2

您需要将 RigidBody 的 isKinematic 属性设置为 false。因为如果启用 isKinematic,力、碰撞或关节将不再影响刚体。通过更改 transform.position,刚体将受到动画或脚本控制的完全控制。参考统一文档http://docs.unity3d.com/ScriptReference/Rigidbody-isKinematic.html

于 2015-08-23T19:10:47.853 回答
0

也许您可以发布一些播放器设置的代码或图像?

但是,可能存在许多问题,为什么它不会影响您的播放器。

  • 也许您的玩家正在与阻止刚体移动的东西发生碰撞。
  • 也许您添加的力量不足以移动玩家。
  • 也许你的代码中有一些东西。
  • 也许 isKinemtic 设置为 true?

我希望这有帮助。

于 2015-08-23T18:01:10.183 回答