我有Time.timeScale
等于0,使整个游戏暂停。有没有办法让游戏对象不受Time.time
比例影响,所以在整个游戏仍然暂停时,空游戏仍然有效?
答案 0 :(得分:1)
不,没有办法。 FixedUpdate
functions will not be called when timeScale is set to zero,因此您无法将比例设置为零并且仍然有一个FixedUpdate
处于运动状态的对象,因为您需要FixedUpdate
来更新其转换。
您必须做一些事情来暂停其他对象而不暂停游戏,请查看this post。
答案 1 :(得分:-1)
Time.realtimeSinceStartup
不受Time.timeScale
所以基本上你可以通过
创建自己的deltafloat lastRealTime = 0f;
float deltaRealTime = 0f;
public void Update()
{
deltaRealTime = Time.realtimeSinceStartup - lastRealTime;
lastRealTime = Time.realtimeSinceStartup;
}
http://docs.unity3d.com/ScriptReference/Time-realtimeSinceStartup.html