我如何减慢角色移动的速度?

问题描述 投票:-1回答:1
 void Movement()
{
    transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

    if(Input.GetKey(KeyCode.S))
    {
        Time.timeScale = 0.5f;
    }

    if(Input.GetKeyUp(KeyCode.S))
    {
        Time.timeScale = 1;
    }
}

我设置了时间刻度,但似乎一切都变慢了。我只想要我正在控制的唯一角色。请帮忙。谢谢

c# unity3d
1个回答
0
投票

只需添加您自己的时间范围

class Player : MonoBehaviour

float ownTimeScale=1;

void Movement()
{
    transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime * ownTimeScale);
    if(Input.GetKey(KeyCode.S))
    {
        ownTimeScale = 0.5f;
    }

    if(Input.GetKeyUp(KeyCode.S))
    {
        ownTimeScale = 1;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.