*   >> Lecture Éducation Articles >> science >> la programmation

PushButton Tutorial Series - Mise à jour de Animation

VOIR LA DEMO

télécharger le code SOURCE

Retour à la index du tutoriel

Dans le dernier tutoriel nous avons créé un AnimationController mise à jour automatique L'image présentée par le SpriteRenderComponent, résultant en une image animée. Maintenant, nous allons étendre l'élément du keyboardcontroller pour lui permettre de signaler la AnimationController pour changer l'animation actuelle, qui va nous permettre de montrer différentes animations basées sur la saisie au clavier, comme une animation courir quand une touche fléchée est enfoncée.


Le AnimationController nécessite deux choses pour être en mesure d'échanger des animations à la demande. Le premier est le nom d'un événement qui sera distribué lorsque l'animation doit être changé. Il est défini par la propriété changeAnimationEvent

EntityFactory.as

 Animation.changeAnimationEvent = "PlayerAnimation". 

La seconde est une référence à une propriété qui décrit le nom de l'animation qui devrait être joué. Ceci est une fonction get que nous allons ajouter à la composante keyboardcontroller

 Animation.

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

Ce qui se passe maintenant est que les besoins lorsque l'animation affichée à modifier un événement est distribué par l'entité, dans ce cas avec le nom "PlayerAnimation". Il n'y a pas de données associée à cet événement:.

L'AnimationController utilisera le déclenchement de l'événement comme un signal pour demander l'animation qui doit être affiché à travers la référence de la propriété affectée à la propriété changeAnimationEvent

Dispatching la "PlayerAnimation" événement et fournir un le nom de l'animation souhaitée est le travail de l'keyboardcontroller. La fonction de currentAnimation fournit un moyen pour le AnimationController à lire le nom de l'animation actuelle

KeyboardController.as

 public function get currentAnimation ():.

Chaîne {animation de retour;}

Le onTick fonction est mis à jour pour enregistrer la dernière direction du joueur (avec la variable face), si elle est en mouvement ou pas (avec la variable d'inactivité), et à envoyer un événement lorsque l'animation doit être changé.

 public override function onTick (tickrate: Number): void {var position: point = owner.getProperty (PositionReference); si (InputManager.isKeyDown (InputKey.RIGHT)) {if (face || ralenti!) {face = true; inactif = false; animation = "RunRight"; owner.eventDispatcher.

dispatchEvent (nouvel événement (AnimationEventName)); } XMovement + = Vitesse * tickrate; while (xMovement> = 1) {position.x + = 1; xMovement - = 1; }} Else if (InputManager.isKeyDown (InputKey.LEFT)) {if (face || ralenti) {face = false; inactif = false; animation = "RunLeft"; owner.eventDispatcher.dispatchEvent (nouvel événement (AnimationEventName)); } XMovement - = Vitesse * tickrate; while (xMovement else if (inactif) {ralenti = true; animation = face "IdleRight"?: "IdleLeft"; owner.eventDispatcher.dispatchEvent (nouvel événement (AnimationEventName));} if (! InputManager.

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

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.