我正在制作一个飞扬的小鸟克隆版来练习,在制作跳跃功能时我遇到了问题,因为一开始跳跃可以,但后来重力变得如此之强,以至于即使我仍然向上移动,跳跃也会变得越来越困难(即使在 0.25 或在 y 坐标上添加像 5k 这样的力)
查找了几个解决方案,发现按下跳跃按钮时会关闭重力,但我认为它对 RigidBody2D 效果不太好,我尝试的另一种解决方案是增加向上的力,但这只能作为短时间的解决方案,我不知道把代码放在哪里所以我把它放在这里
using UnityEngine;
public class PlayerJump : MonoBehaviour
{
public Rigidbody2D rb;
public float jump = 10f;
public float Flyspeed = 10f;
// Update is called once per frame
void start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
rb.AddForce(new Vector2(Flyspeed * Time.deltaTime, 0));
if (Input.GetKeyDown("w"))
{
rb.AddForce(new Vector2(0, jump * Time.deltaTime));
rb.useGravity = false;
}
else
rb.useGravity = true;
}
}