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>
PushButton Tutorial Series - Tracking & amp; amp; Jumping
- Índice Para la base de datos Tables
- Más Expresiones regulares en Perl
- C Basic Input Y Output
- Lenguajes de programación en El Mainframe
- Hacer una página Web con tipografía grande Resolución sobre un Paper
- Cómo configurar su connections
- Consulta Mysql Database
- El Título Banner Html Document
- C ++ Lección 01, Introducción a Programming
- AS3IsoLib Serie Tutorial - Camera