*   >> Lectura Educación Artículos >> science >> programación

PushButton Tutorial Series - Actualización Animation

VER LA DEMO

DESCARGAR EL CÓDIGO FUENTE

VOLVER A EL INDICE TUTORIAL

En el último tutorial creamos un AnimationController actualice automáticamente la imagen mostrada por el SpriteRenderComponent, lo que resulta en una imagen animada. Ahora vamos a ampliar el componente KeyboardController para permitir que la señal de AnimationController para cambiar la animación actual, que nos permitirá mostrar diferentes animaciones en base a la entrada de teclado, como una animación en ejecución cuando se pulsa una tecla de flecha.


El AnimationController requiere dos cosas para poder intercambiar animaciones bajo demanda. El primero es el nombre de un evento que se distribuye cuando la animación se debe cambiar. Esto se establece a través de la propiedad changeAnimationEvent

EntityFactory.as

 Animation.changeAnimationEvent = "PlayerAnimation."; 

El segundo es una referencia a una propiedad que describe el nombre de la animación que debería estar jugando. Esta es una función get que vamos a añadir al componente KeyboardController

 Animation.

currentAnimationReference = new PropertyReference ("@ Input.currentAnimation.");

Lo que ocurre ahora es que las necesidades al estar representada la animación para cambiarse un evento se distribuye por la entidad, en este caso con el nombre de "PlayerAnimation". No hay datos asociada con este evento:.

La AnimationController utilizará el desencadenamiento del evento como una señal para solicitar la animación que se debe mostrar a través de la propiedad de referencia asignado a la propiedad changeAnimationEvent

El envío de la "PlayerAnimation" evento y proporcionar un nombre de la animación deseada es el trabajo del KeyboardController. La función currentAnimation proporciona un camino para la AnimationController leer el nombre de la animación actual

KeyboardController.as

 public function get currentAnimation ():.

Cadena {animación retorno;}

El función onTick se actualiza para grabar la última dirección del jugador (con la variable de frente), si se mueve o no (con la variable de reposo), y de despachar un evento cuando la animación se debe cambiar.

 función de anulación pública onTick (tickrate: Number): void {position var: Point = owner.getProperty (PositionReference); si (InputManager.isKeyDown (InputKey.RIGHT)) {if (frente || ralentí!) {enfrenta = true; inactivo = false; animación = "RunRight"; owner.eventDispatcher.

dispatchEvent (nuevo evento (AnimationEventName)); } XMovement + = velocidad * tickrate; while (xMovement> = 1) {position.x + = 1; xMovement - = 1; }} Else if (InputManager.isKeyDown (InputKey.LEFT)) {if (frente || ralentí) {enfrenta = false; inactivo = false; animación = "RunLeft"; owner.eventDispatcher.dispatchEvent (nuevo evento (AnimationEventName)); } XMovement - = velocidad * tickrate; while (xMovement else if (inactivo) {inactivo = true; animación = frente "IdleRight": "IdleLeft"; owner.eventDispatcher.dispatchEvent (nuevo evento (AnimationEventName));} if (! InputManager.

isKeyDown (InputKey.DOWN) ) {yMovement + = velocidad * tickrate; while (yMovement>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.