Contamos con tu ayuda para extender nuestras crónicas con relación a las ciencias de la computación.
Solución:
¿Es seguro usar Time.deltaTime como el tiempo de espera para el rendimiento en una rutina?
No. Esa no es la forma de usar el WaitForSeconds
función. WaitForSeconds
toma en segundos como parámetro, no los pequeños valores proporcionados por Time.deltaTime
en cada cuadro.
A continuación se muestra un ejemplo de cómo utilizar el WaitForSeconds
función.
IEnumerator waitFunction1()
Debug.Log("Hello Before Waiting");
yield return new WaitForSeconds(3); //Will wait for 3 seconds then run the code below
Debug.Log("Hello After waiting for 3 seconds");
En cuanto a esperar con Time.deltaTime
normalmente lo usas en un while
bucle además de otro float
variable que harás increment
o decrement
hasta llegar al valor deseado. La ventaja de usar Time.deltaTime
es que puedes ver cuanto tiempo de espera queda mientras esperas. Puede usarlo para una cuenta regresiva o un temporizador. tu tambien pones yield return null;
en el while
bucle para que Unity también permita que se ejecuten otros scripts y su aplicación no se congelará. A continuación se muestra un ejemplo de cómo utilizar Time.deltaTime
esperar 3 segundos. Puede convertirlo fácilmente en un temporizador de cuenta regresiva.
IEnumerator waitFunction2()
const float waitTime = 3f;
float counter = 0f;
Debug.Log("Hello Before Waiting");
while (counter < waitTime)
Debug.Log("Current WaitTime: " + counter);
counter += Time.deltaTime;
yield return null; //Don't freeze Unity
Debug.Log("Hello After waiting for 3 seconds");
Si te ha resultado de utilidad nuestro post, te agradeceríamos que lo compartas con otros programadores y nos ayudes a extender esta información.