【问题标题】:Character falls faster than it rises when I jump, how can I change falling speed?跳跃时人物下落速度快于起落速度,如何改变下落速度?
【发布时间】:2015-01-30 22:01:48
【问题描述】:
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);
    }
}

这是一款飞禽类游戏,我使用这个功能让角色在按下空格键时跳跃,但是当我松开那个键时,角色下落的速度比最初下落的速度要快得多按空间下降得越快..

谁能帮帮我?

【问题讨论】:

    标签: performance unity3d gravity


    【解决方案1】:

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

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

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

    【讨论】:

    • 没问题。如果它解决了您的问题,请考虑接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多