*   >> läser Utbildning artiklar >> science >> programming

Tryckknapp Tutorial Series - Uppdatering Animation

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>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.