Corrutinas de Unity

En este articulo veremos que son las corrutinas y como se usan.

Para poder comprender fácilmente el texto, debes saber Unity y programación básica.

Que es una corrutina

Es un método el cual pausa acciones o lo ejecuta en un tiempo diferente, el cual podemos definir. Ejemplo: queremos que exista un contador en segundos que se pueda activar cuando se desee. Pero no es un método asincronico.


Crear corrutina

Para ello, solo seguimos el formato:

 
IEnumerator Ejemplo() {
    // Codigo
    yield return new WaitForSeconds(1f);
}
 

 

Usar corrutina

Para usarla, debemos usar una función que activara el método:

 
StartCoroutine(Ejemplo());
 

 

Espera múltiple en el mismo método

Si por alguna razón queremos que se ejecute acciones en tiempos diferentes, solo haremos lo siguiente:

 
IEnumerator Ejemplo() {
    Debug.Log("Esperar 2 segundos para iniciar");
    yield return new WaitForSeconds(2f);
    Debug.Log("Esperar 5 segundos para atacar");
    yield return new WaitForSeconds(5f);
    Debug.Log("Esperar 1 segundo para terminar");
    yield return new WaitForSeconds(1f);
}
 

La linea de código 'yield return' crea una espera separada del tiempo normal de ejecución, ademas la función 'WaitForSeconds' nos ayuda a esperar tiempo real.


Detener corrutinas

Para detener una o cualquier corrutina, podemos: pausar todas las corrutinas.

 
StopAllCoroutines();
 

O detener una en especifico.

 
StopCoroutine(Ejemplo());
 


Conclusión

La corrutinas nos ayudan a ejecutar una o varias acciones en un tiempo determinado, dándonos control sobre que pasa u cuando pasa.



Bibliografía

Documentación Unity