No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Reto: Movimiento de los Caramelos con Animaciones

28/31
Recursos

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ok yo lo hice de la siguiente forma, no se si es la mejor práctica pero aquí va mi solución.
Yo cree las 6 animaciones y 6 controladores. Cada controlador con su respectiva animación.
En mi prefab del caramelo le agregué el componente animator y mi idea era cambiar por código el controlador de cada respectivo caramelo.
.
De esa forma cambié el controlador, se reproduce la animación y luego elimino los caramelos.
Se me hizo un poco complejo detectar cuando la animación haya finalizado, así que decidí hacer una función de tipo Corrutina y adicional ponerle unos segundos de espera antes de borrar los caramelos.
.
De esa forma se logra el efecto deseado, pero como dice el profe hay muchas más. Me gustaría indagar más para detectar el estado de finalización de una animación. Conseguí esto por los forums de unity, más sin embargo no me funcionó. Check if animation has finished
.
Aquí dejo la función que hice:


     private IEnumerator EnableAnimation(GameObject candy){
        
       
        candy.GetComponent<Animator>().enabled = true;
        RuntimeAnimatorController newController =  (RuntimeAnimatorController)Resources.Load("Animations/" + candy.GetComponent<Candy>().id);
        candy.GetComponent<Animator>().runtimeAnimatorController = newController;
        yield return new WaitForSeconds(0.8f);

        candy.GetComponent<Animator>().enabled = false;
        candy.GetComponent<SpriteRenderer>().sprite = null;
        
    }

Genial

Yo lo hice sin usar animator, solo cree un objeto candy y hay añadi los sprite y el id de cada candi independiente hay, luego swat hice el cambio tanto del objeto. en el gameobject[,] de bordmanager, luego cree un ienumartator que ejecutara la aniamcion dependiendo del id del scritp de candy al destruirse ademas de que antes de esto se ejecuta el movimiento de cada candy en su lugar, casi no tengo que cambiar mucho código de esta forma. queda casi igual.
si el Mach concatena un linea al ejecutar el metodo MakeCadysFalls añade un nuevo sprite como también le da su nueva id a candy…