*   >> Lese Utdanning Artikler >> science >> programming

AS3IsoLib Tutorial Series - Flytte Boxes

spille demoen

laste ned kildekoden

TILBAKE TIL TUTORIAL INDEX

En av de vanskeligere aspekter av et isometrisk system er koordinater. Med as3isolib x-aksen går langs diagonalen fra øverst til venstre på skjermen til høyre. Y-aksen er vinkelrett, kjører fra høyre til venstre. Z-aksen definerer høyde, og går rett opp og ned.

For å demonstrere hvordan isometrisk objekter beveger seg langs disse aksene vi vil skape 3 litt ulike formet blokker.

Koden er ganske mye det samme som sist tutorial, bortsett fra at nå variabler for de ulike objekter, som bokser og scenen, er klassevariabler, ikke fungere variabler

 beskyttet Var scene. IsoScene = null ; beskyttet Var box1: IsoBox = null; beskyttet Var BOX2: IsoBox = null; beskyttet Var BOX3: IsoBox = null; beskyttet funksjon appComplete (): void {var spriteContainer: SpriteUIComponent = new SpriteUIComponent (); this.addChild (spriteContainer); scene = new IsoScene (); scene.hostContainer = spriteContainer; box1 = new IsoBox (); box1.setSize (50, 50, 50); box1.

moveTo (300, -100, 0); scene.addChild (box1);

moveToRandomPosition setter opp en tweening effekt som vil flytte boksen til en tilfeldig posisjon på x /y planet

 moveToRandomPosition (box1.); BOX2 = new IsoBox (); box2.setSize (50, 50, 100); box2.moveTo (200, 100, 0); scene.addChild (BOX2); moveToRandomPosition (BOX2); BOX3 = new IsoBox (); box3.setSize (50, 100, 50); box3.moveTo (500, 100, 0); scene.addChild (BOX3); moveToRandomPosition (BOX3); 

På grunn av boksene vil flytte, må scenen for å bli re-rendret hver ramme.

Perviously, fordi scenen var statisk, vi har gjort ett anrop til gjengi funksjonen. Nå setter vi enterframe funksjon som skal kalles hver ramme

 this.addEventListener (Event.ENTER_FRAME, enterframe);} 

enterframe-funksjonen gjør en ting. Rendre scenen. Ved å gjengi det hver ramme bevegelsen av boksene vil være synlig

 beskyttet funksjon enterframe (hendelse: Hendelse): void {scene.render ();} 

De randomPosition og moveToRandomPosition funksjonene brukes i sammenheng. med TweenLite å flytte boksene rundt på x /y planet.

Legg merke til at moveToRandomPosition funksjonen kalles rekursivt når tweening handlingen er fullført. På denne måten kan vi holde boksene i kontinuerlig bevegelse

 beskyttet funksjon randomPosition (min: Antall, max: Number). Number {return Math.random () * (maks - min) + min;} beskyttet funksjon moveToRandomPosition (boks: IsoB

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.