角色下落的速度比我跳跃时上升的速度快,我怎么能改变下落速度


void Update () {
    float positionY = transform.position.y;
    int speed = 5;
    if(Input.GetKey(KeyCode.Space))
    {
        print ("Space pressed");
        transform.position = new Vector3(transform.position.x,
                                         positionY * speed * Time.deltaTime,
                                         transform.position.z);
    }
}

这是一款飞扬的鸟型游戏,我正在使用此功能使角色在按下空格键时跳跃,但是当我松开该键时,角色下落的速度比最初下降的速度要快得多,我按空格键越多,它下落的速度就越快。

谁能帮我?

我假设你使用重力让鸟坠落。

您的代码所做的是通过将鸟的位置更改为高于其先前的位置来向上移动它。然而,这只鸟仍然保持着你把它移上去之前的原始速度。所以它一直在下降。因为它一直在下降,所以它的速度越来越快。

要解决这个问题,您必须在向上移动后将鸟的速度设置为零

最新更新