【问题标题】:Unity 2D - Awry "jumping"Unity 2D - 错误的“跳跃”
【发布时间】:2016-07-13 04:15:47
【问题描述】:

我在 2d 游戏中的跳跃有一些问题。我试过了

rigidbody2D.AddForce(new Vector2(0, 200));  
// and
rigidbody2D.velocity = new Vector2(0, 10f);

但我的角色不是直接向上跳跃,而是向上和向左跳跃。他从水平区域跳跃。会是什么?

更新。 多一点代码:

void Update() 
    {
       if (Input.GetKeyDown("w")) 
        {
          rigidbody2D.AddForce(new Vector2(0, 200));
          //or rigidbody2D.velocity = new Vector2(0, 10f);
          //or rigidbody2D.AddForce(Vector2.up * 10);
        }
    }

我尝试过 FixedUpdate() - 也是同样的问题。他只是跳到左边。

【问题讨论】:

    标签: unity3d 2d


    【解决方案1】:
    Vector3 jumpForce;
    
    void Awake()
    {
     jumpForce = new Vector3(0, y); //Put your desired jump force for y
    }
    
    void Update() 
    {
       if (Input.GetKeyDown("w")) 
        {         
         _rigidBody2D.velocity += jumpForce;
        }
    }
    

    【讨论】:

    • 请为您的答案添加一些解释。 SO不鼓励仅使用代码的答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多