我在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() - 它也是同样的问题。他只是跳到了左边。
答案 0 :(得分:0)
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;
}
}