Visa DEMO Omdömen
ladda ner källkoden Omdömen
TILLBAKA TILL Handledningen INDEX Omdömen
I den sista handledningen skapade vi en AnimationController att automatiskt uppdatera bilden visas av SpriteRenderComponent, vilket resulterar i en animerad bild. Nu ska vi utöka KeyboardController komponent för att kunna signalera AnimationController att ändra den nuvarande animation, vilket ger oss möjlighet att visa olika animationer baserade på tangentbordet, som en löpande animering när en piltangent trycks ned.
Omdömen
Den AnimationController kräver två saker för att kunna byta animationer på efterfrågan. Den första är namnet på en händelse som kommer att skickas när animeringen ska bytas. Detta ställs in via egenskapen changeAnimationEvent Omdömen
EntityFactory.as Omdömen
Animation.changeAnimationEvent = "PlayerAnimation".Den andra är en referens till en egenskap som beskriver namnet på animation som ska spelas. Detta är en get funktion som vi kommer att lägga till KeyboardController komponenten Omdömen
Animation.currentAnimationReference = new PropertyReference ("@ Input.currentAnimation").
Vad händer nu är att när animeringen visas behöver bytas en händelse skickas av företaget, i detta fall med namnet "PlayerAnimation". Det finns inga data i samband med denna händelse. Det AnimationController kommer att använda den utlösande av händelsen som en signal för att begära animeringen som ska visas genom fastighetens referens tilldelas egenskapen changeAnimationEvent Omdömen
Anläggningar för "PlayerAnimation" händelse och ge ett namn av den önskade animeringen är en uppgift för KeyboardController.
Den currentAnimation funktionen ger dig möjlighet att AnimationController att läsa namnet på den aktuella animeringen Omdömen
KeyboardController.as Omdömen
public function get currentAnimation (). String {return animation;}onTick funktion uppdateras för att spela den sista riktning på spelaren (med den motstående variabel), oavsett om det rör sig eller inte (med tomgångs variabel), och att sända ett evenemang när animeringen ska bytas. Omdömen
public override function onTick (tickrate: Number): void {var Position: Point = owner.getProperty (PositionReference); if (InputManager.isKeyDown (InputKey.RIGHT)) {if (inför || tomgång!) {inför = true; inaktiv = false; animation = "RunRight"; owner.eventDispatcher.dispatchEvent (ny händelse (AnimationEventName)); } XMovement + = Hastighet * tickrate; medan (xMovement> = 1) {position.x + = 1; xMovement - = 1; }} Else if (InputManager.isKeyDown (InputKey.LEFT)) {if (inför || tomgång) {inför = false; inaktiv = false; animation = "RunLeft"; owner.eventDispatcher.
dispatchEvent (ny händelse (AnimationEventName)); } XMovement - = hastighet * tickrate; while (xMovement else if (idle) {tomgång = true; animation = inför "IdleRight": "IdleLeft", owner.eventDispatcher.dispatchEvent (ny händelse (AnimationEventName));}! if (InputManager.isKeyDown (InputKey.DOWN) ) {yMovement + = Hastighet * tickrate, medan (yMovement>
Tryckknapp Tutorial Series - Spårning & amp; amp; Jumping
- Java Tutorials - Lektion 3: Relations och Boolean Operators
- Iphone utveckling Secrets Course
- Java Exempelprogram - det enkla sättet att Java
- Grunderna i C ++ Identifier Scope
- Hur att börja utveckla för iOS, Android eller Windows Phone 7
- Network Felsökning Commands
- Generalisering Association
- Att bygga ett reguljärt uttryck i Perl
- Jämställdhet Och Relations Operatörer i C ++
- Hur du startar din egen video Gaming Business in 5 Steps