Saltar al contenido

Unity3D: uso de Time.deltaTime como tiempo de espera para una rutina

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.deltaTimenormalmente 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *