Starling Framework es una API de AS3 que imita la lista de visualización, con una diferencia crucial: utiliza las nuevas funciones de Flash Player 11 para representar todo el contenido de la GPU. En este tutorial, aprenderá a agregar múltiples animaciones a un sprite usando el Starling Framework. Asume una comprensión básica del uso de hojas de sprites con Starling..
Haga clic aquí para ver la demostración en la que trabajaremos. Haz clic a la izquierda o derecha del mono para que camine en esa dirección; Observe cómo se muestra una animación para caminar cuando se mueve y un marco estático cuando se detiene..
Los archivos de origen de la demostración completa (en los estados inicial y final) se encuentran en la descarga de origen. Sin embargo, estaremos trabajando principalmente con un archivo., MonkeySprite.as
, Así que aquí están los contenidos, para referencia:
paquete import flash.utils.getTimer; importación starling.animation.Juggler; import starling.core.Starling; importar starling.display.MovieClip; importar starling.display.Sprite; import starling.events.Event; importar starling.textures.Texture; import starling.textures.TextureAtlas; la clase pública MonkeySprite extiende Sprite private var standMovie: MovieClip; // animación en pie privado var mouseX: Number = -1; // ubicación del clic del mouse en el eje x privado var lastTime: int; // último movimiento onFrame privado var movieVector: Vector.; función pública MonkeySprite () var atlas: TextureAtlas = Assets.getTextureAtlas (); var standFrames: Vector. = atlas.getTextures ("monkey_1"); standMovie = new MovieClip (standFrames, 7); standMovie.loop = true; addChild (standMovie); pivotX = this.width * 0.5; this.addEventListener (Event.ENTER_FRAME, onFrame); función pública onFrame (e: Evento): void if (mouseX == -1) return; // snap si (este.x <= mouseX+5 && this.x >= mouseX-5) esto.x = mouseX; else var timeDiff: int = getTimer () - lastTime; lastTime + = timeDiff; if (mouseX> this.x) this.x + = timeDiff * .15; else this.x - = timeDiff * .15; función pública moveToPoint (pointX: Number): void mouseX = pointX; lastTime = getTimer ();
Aquí están las URL mencionadas en el video:
Háganos saber en los comentarios.!