当我跳跃时,角色的下降速度比它上升的速度快,我怎样才能改变下降速度?

时间:2015-01-30 22:01:49

标签: performance unity3d gravity

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);
    }
}

这是一个飞扬的鸟类型游戏,当我按空格键时,我正在使用此功能使角色跳跃,但是当我放开那个键时,角色的下降速度比最初下降的速度快得多,而且我越多按空间越快它就越快..

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我假设你用重力使鸟落下。

你的代码所做的是通过将它的位置改为高于其先前的位置来移动它。然而,这只鸟在你向上移动之前仍然具有原始的速度。所以它继续下降。因为它不断下降,所以它会越来越快。

要解决这个问题,你必须在移动后将鸟类速度设置为零