*   >> Læs Uddannelse artikler >> science >> programming

AS3IsoLib Tutorial Series - Moving Boxes

afspille DEMO

hente kildekoden

TILBAGE TIL tutorial INDEX

En af de mere komplicerede aspekter af et isometrisk system, er koordinaterne. Med as3isolib x-aksen løber langs diagonalen fra øverste venstre hjørne af skærmen til nederst til højre. Y-aksen er vinkelret, der løber fra øverste højre til nederste venstre. Z-aksen definerer højden, og kører lige op og ned.

For at vise, hvordan isometriske objekter bevæger sig langs disse akser, vi vil skabe 3 lidt forskellige formede blokke.

Koden er stort set den samme som den sidste tutorial, bortset fra, at nu de variabler for de forskellige objekter, ligesom kasser og scenen, er klassevariabler, ikke fungere variabler

 beskyttet Var scene 

:. = Null IsoScene ; beskyttet Var box1: IsoBox = null; beskyttet var box2: IsoBox = null; beskyttet var BOX3: IsoBox = null; beskyttet funktion appComplete (): void {var spriteContainer: SpriteUIComponent = ny SpriteUIComponent (); this.addChild (spriteContainer); scene = ny IsoScene (); scene.hostContainer = spriteContainer; BOX1 = ny IsoBox (); box1.setSize (50, 50, 50); box1.

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

moveToRandomPosition opstiller en tweening effekt, der vil flytte boksen til en tilfældig position på x /y-planet

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

Da kasserne vil flytte, skal re-renderet hver frame scenen.

Perviously, fordi scenen var statiske, vi gjort ét opkald til gengive-funktion. Nu satte vi den enterFrame funktion, der skal kaldes hver ramme

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

enterFrame Funktionen gør én ting:. Gengive scenen. Ved at gøre det hver frame bevægelse kasserne vil være synlige

 beskyttet funktion enterFrame (hændelse: Begivenhed): void {scene.render ();} 

randomPosition og moveToRandomPosition funktioner bruges sammen. med TweenLite at flytte rundt med boksene på x /y-planet.

Bemærk, at moveToRandomPosition funktion kaldes rekursivt når tweening handling er afsluttet. På den måde kan vi holde kasserne i kontinuerlig bevægelse

 beskyttet funktion randomPosition (min: Nummer, max: Number):. Nummer {returnere Math.random () * (max - min) + min;} beskyttet funktion moveT

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.