Unity3d 为什么我的球员动作不起作用,即使一切都很好?

Unity3d 为什么我的球员动作不起作用,即使一切都很好?,unity3d,Unity3d,现在,我对unity还不熟悉,所以一个简单的答案对我会有很大帮助。我在做一个测试平台项目。我在写玩家的动作脚本,我想应该是正确的。但是当我运行项目时,我的播放器根本不动。任何帮助都将不胜感激 using UnityEngine; public class PlayerMovement : MonoBehaviour { private float vaxis; private float haxis; public float moveSpeed = 40f;

现在,我对unity还不熟悉,所以一个简单的答案对我会有很大帮助。我在做一个测试平台项目。我在写玩家的动作脚本,我想应该是正确的。但是当我运行项目时,我的播放器根本不动。任何帮助都将不胜感激

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    private float vaxis;
    private float haxis;
    public float moveSpeed = 40f;
    public float jumpSpeed = 20f;
    private Vector2 newForce = new Vector2(0f, 0f);
    public Rigidbody2D player;

     private void FixedUpdate()
     {
         haxis = Input.GetAxisRaw("Horizontal");
         vaxis = Input.GetAxisRaw("Vertical");
         if(vaxis == -1)
             vaxis = 0;

         newForce.x = moveSpeed * haxis * Time.fixedDeltaTime;
         newForce.y = jumpSpeed * vaxis * Time.fixedDeltaTime;
         player.AddForce(newForce);
     }
 }
我已将Rigidbody2D指定给我的“player”变量。我看没什么问题。 请帮帮我。这真令人沮丧

谢谢,
Nandan Goyal

确保您的Ridgidbody设置为“动态”,而不是“运动学”,并且是否已附加物理组件?
希望有帮助:)

移动速度和跳跃速度是否正确?你的
rigiidbody2d
可能
iskinetic
?它有什么限制吗?它启用了吗?如何配置轴?一般情况下,也可以在
FixedUpdate
中使用
Time.deltaTime
。也可以一行一行地尝试代码并检查所有值。你能附上播放器对象中组件的屏幕截图吗?可能对象
mass
或者摩擦力对于你的输入来说太高了?这是一个非常小的力,试着把它设得非常大,比如40000,看看它是否能工作。对不起那些反应迟钝的家伙。我要感谢你们的好意,帮助我解决了我的问题。邓诺的帖子很有帮助。力量太弱,无法移动运动员。谢谢。