WaitForSeconds
Описание
Приостанавливает выполнение сопутствующей процедуры на указанное масштабированное время в секундах.
WaitForSeconds могут быть использованы только с инструкцией yield в сопутствующих программах.
Реальное время приостановки равно заданному времени, поделенному на Time.timeScale. Чтобы ждать, используя нескалярное время, см. WaitForSecondsRealtime.
Фактическая продолжительность ожидания может не соответствовать указанному времени по следующим причинам:
- Если вы запускаете
WaitForSecondsс продолжительностьюtв длинном кадре (например, в кадре, в котором есть длительная операция, блокирующая главный поток, например, синхронная загрузка), сопроцесс возобновляется черезtсекунд после окончания кадра, а не черезtсекунд после его вызова. - Короутина может возобновиться на первом кадре после прохождения
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 | Приостанавливает выполнение сопутствующей процедуры на указанное количество секунд с использованием масштабируемого времени. |