Starling Framework er en AS3 API som etterligner visningslisten, med en avgjørende forskjell: det bruker Flash Player 11s nye funksjoner for å gjengi alt innhold fra GPU. I denne opplæringen lærer du å legge til flere animasjoner til en sprite ved hjelp av Starling Framework. Det antar en grunnleggende forståelse for bruk av spritesheets med Starling.
Klikk her for å se demoen vi skal jobbe for. Klikk til venstre eller høyre for apen for å få det til å gå i den retningen; Legg merke til hvordan det viser en walking animasjon når du beveger deg og en statisk ramme når du står stille.
Hele demoens kildefiler (i både innledende og siste tilstand) er i nedlasting av kilde. Imidlertid vil vi hovedsakelig arbeide med en fil, MonkeySprite.as
, så her er innholdet, som referanse:
pakke import flash.utils.getTimer; importere starling.animation.Juggler; importere starling.core.Starling; importere starling.display.MovieClip; importere starling.display.Sprite; importere starling.events.Event; importere starling.textures.Texture; importere starling.textures.TextureAtlas; offentlig klasse MonkeySprite utvider Sprite private var standMovie: MovieClip; // stående animasjon privat var mouseX: Nummer = -1; // plassering av museklikk på x-aksen privat var sistTime: int; // siste onFrame bevegelse private var movieVector: Vector.; offentlig funksjon MonkeySprite () var atlas: TextureAtlas = Assets.getTextureAtlas (); var standFrames: Vector. = atlas.getTextures ("monkey_1"); standMovie = ny MovieClip (standFrames, 7); standMovie.loop = true; addChild (standMovie); pivotX = this.width * 0.5; this.addEventListener (Event.ENTER_FRAME, onFrame); offentlig funksjon onFrame (e: Event): void if (mouseX == -1) returnere; // snap om (this.x <= mouseX+5 && this.x >= mouseX-5) this.x = mouseX; annet var timeDiff: int = getTimer () - lastTime; LastTime + = timeDiff; hvis (mouseX> this.x) this.x + = timeDiff * .15; ellers this.x - = timeDiff * .15; offentlig funksjon moveToPoint (punktX: Nummer): void mouseX = pointX; lastTime = getTimer ();
Her er nettadressene nevnt i videoen:
Gi oss beskjed i kommentarene!