Unity2D:当我添加一个对撞机时,Rigidbody2D.AddForce不起作用

时间:2015-08-23 17:39:26

标签: c# unity3d rigid-bodies

在Unity中,我有一个播放器,你按A和D左右移动,空格键跳转(我也试图添加触控)。当我向我的Player对象添加collider2d时,该对象将不允许我使用Rigidbody2D.AddForce。它根本不会移动我的角色。有谁知道为什么?

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

但是,为什么它不会影响你的播放器可能有很多问题。

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

我希望这会有所帮助。