Home | Clases | Unity: Animación en 2D | Animación Attack (Atacar)

Animación Attack (Atacar)


Crear animación

La siguiente animación que vamos a añadir es la de atacar (attack), que crearemos de forma similar a la anterior:

  • Arrastra ahora todos lo sprites de Assets > Sprites > Jugador llamados Attack (1) a Attack (8) al objeto Jugador.
  • Una nueva ventana indicará que se va a crear una nueva animación, la llamamos Attack y la guardamos dentro de Assets > Animations > Jugador.
  • El Animator ya no se crea, pues ya estaba creado antes y se utiliza el mismo.


Selecciona la animación Attack y en la Inspector window, asegúrate de desmarcar la casilla Loop Time, ya que en este caso no queremos que la animación se reproduzca en bucle, sino solo una vez:



Flujo de las animaciones

Si ahora abres la ventana Window > Animation > Animator, puedes ver el flujo de las animaciones del Jugador: Idle, que es la animación por defecto, Walk, con las transiciones creadas en el apartado anterior y Attack, que estará "aislada".

Añade dos transiciones, una en cada sentido, entre los estados parado (Idle) y atacar (Attack), y dos transiciones, una en cada sentido, entre los estados andar (Walk) y atacar (Attack) de la ventana Animator.

Añade además, a la izquierda de la lista de Parameters un nuevo bool llamado isAttacking, que nos servirá de condición para cambiar de animación desde el script:



  • Selecciona la transición que va de Idle a Attack y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor true.
  • Selecciona la transición que va de Attack a Idle y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor false.
  • Selecciona la transición que va de Walk a Attack y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor true y la condición isWalking con el valor true.
  • Selecciona la transición que va de Attack a Walk y, en la Inspector window, desactiva Has Exit Time (porque vamos a usar una condición) y añade en Conditions la condición isAttacking con el valor false y la condición isWalking con el valor true.


Script

Ya solo faltaría modificar el script del Jugador para que reproduzca la animación cuando se pulse el botón de Fire1, que corresponde al clic izquierdo del ratón. Para ello, añade dentro del método FixedUpdate y después del código de salto, las siguientes líneas:


//Atacar
if (Input.GetButtonDown("Fire1"))
{
animator.SetBool("isAttacking", true);
}
else
{
animator.SetBool("isAttacking", false);
}

Fecha de publicación: 14/04/2020
Asignaturas: realización de proyectos multimedia interactivosdesarrollo de entornos interactivos multidispositivo
Temas: unity 2d animación
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos