第 18 课2026.09.24
暂停游戏时间后,仍让训练提示按现实时间继续计时。
第 18 课:暂停游戏时按真实时间等待
- 日期:2026-09-24
- 课程序号:第 18 课
- 知识点:
WaitForSecondsRealtime
用途或适用场景
暂停游戏时间后,仍让训练提示按现实时间继续计时。
核心概念
WaitForSeconds 使用受 Time.timeScale 影响的时间;WaitForSecondsRealtime 使用真实时间。本课只替换第 17 课协程中的等待指令,保留 running 的去重和自然结束清理。
最小代码或操作示例
csharp
System.Collections.IEnumerator Practice() {
for (int i = 0; i < 3; i++) {
yield return new UnityEngine.WaitForSecondsRealtime(1f);
UnityEngine.Debug.Log(i);
}
running = null;
}3~5 分钟练习
运行中将 UnityEngine.Time.timeScale 临时设为 0,观察日志后恢复为 1。
参考答案
日志仍按真实时间约每秒出现一次;三次结束后 running 清空,可再次启动。
与上一课的联系
继承第 17 课的三次有界 Practice()、Begin() 和末尾清空 running;本课只把等待替换为不受时间缩放影响的版本;下一课可比较两种等待对暂停菜单的适用场景。
时效校验
时效校验:2026-09-24(已打开 Unity 6.6 当前 WaitForSecondsRealtime 与 WaitForSeconds API;未见本课 API 废弃标记)。