gpt4 book ai didi

c# - 如何获取当前时间刻度?

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:10 24 4
gpt4 key购买 nike

我正在制作一款可以加快时间尺度的游戏。我想用之前的时间尺度暂停和恢复它。

private IEnumerator Speedup()
{
yield return new WaitForSeconds(10f);
Time.timeScale+=0.05f;
StartCoroutine(Speedup());
}
public void pausegame()
{
Time.timeScale = 0;
}

public void unpausegame()
{
Time.timeScale = ??;
}

最佳答案

你可以在暂停时使用一个变量来存储之前的比例,然后在取消暂停时重新赋值。

private float _previousScale = 1;

private IEnumerator Speedup()
{
yield return new WaitForSeconds(10f);
Time.timeScale += 0.05f;
StartCoroutine(Speedup());
}

public void pausegame()
{
_previousScale = Time.timeScale;
Time.timeScale = 0;
}

public void unpausegame()
{
Time.timeScale = _previousScale;
}

进一步说明。我设置了 private float _previousScale = 1; 因为我看到一个问题,你在 pausegame 之前调用 unpausegame。如果您没有分配它,它将默认为 0,并且您也有在 unpausegame 中将 Time.timescale 设置为 0 的风险。

关于c# - 如何获取当前时间刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56362359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com