使用缩放时间将协程执行暂停指定的秒数。
实际暂停时间等于给定时间除以 Time.timeScale。如果要使用未缩放时间进行等待,请参阅 WaitForSecondsRealtime。在协程中,WaitForSeconds 只能与 yield
语句结合使用。
有一些因素可能意味着实际等待的时间量与指定的时间量不完全一致。\
**1.** 在当前帧的 end
处开始等待。如果您在一个非常长的帧(例如,具有同步加载等阻止主线程的长时间操作的帧)上使用持续时间“t”启动 WaitForSeconds,协程将在帧结束后返回“t”秒,而不是取消后“t”秒。\
**2.** 允许协程在“t”秒后继续在第一帧上执行,不是确切的“t”秒之后。
using UnityEngine; using System.Collections;
public class WaitForSecondsExample : MonoBehaviour { void Start() { //Start the coroutine we define below named ExampleCoroutine. StartCoroutine(ExampleCoroutine()); }
IEnumerator ExampleCoroutine() { //Print the time of when the function is first called. Debug.Log("Started Coroutine at timestamp : " + Time.time);
//yield on a new YieldInstruction that waits for 5 seconds. yield return new WaitForSeconds(5);
//After we have waited 5 seconds print the time again. Debug.Log("Finished Coroutine at timestamp : " + Time.time); } }
另请参阅:MonoBehaviour.StartCoroutine、AsyncOperation、WaitForEndOfFrame、WaitForFixedUpdate、WaitForSecondsRealtime、WaitUntil、WaitWhile。
WaitForSeconds | 使用缩放时间将协程执行暂停指定的秒数。 |