// forked from checkmate's Checkmate Vol.6 Sponser package { import flash.display.*; import flash.events.*; import org.libspark.betweenas3.*; import org.libspark.betweenas3.tweens.ITween; [SWF(backgroundColor=0x3399ff)] public class Sponser extends Sprite { private var robo:Robo; public function Sponser() { Robo.load(); addEventListener("enterFrame", update); } public function update(e:Event):void { if(loadf) { var robos:Array = []; for( var i:int = 0; i<30; ++i ) { robo = new Robo( 8, true, true ); robos.push(robo); addChild(robo); } for (i=0;i<30;i++) { var t:ITween = BetweenAS3.tween( robos[i], { x : -150, scaleX:-5, scaleY:5, y: 0 + i*20 }, { x:465 , scaleX:-5, scaleY:5,y: 100 }, 3 ); t.stopOnComplete = false; t.play(); } loadf=false; } } } } var loadf:Boolean = false; import flash.display.*; import flash.events.*; import flash.net.*; import flash.geom.*; import flash.system.*; class Robo extends Sprite { public static var imgSrc:String = "http://assets.dev.wonderfl.net/images/related_images/e/ea/ea8a/ea8a6b1d37c2cec12e07893c66f164a9da1e92c0"; private var _frame:Bitmap; private var _currentFrame:int = 0; private var _totalFrames:int = 0; private var _frameRate:int = 8; private var _autoPlay:Boolean = false; private static var frames:Array = []; public function Robo( frameRate:int = 8, autoPlay:Boolean = false, autoLoad:Boolean = false ){ _frameRate = frameRate; _autoPlay = autoPlay; _frame = new Bitmap(); addChild( _frame ); _totalFrames = frames.length; update(); dispatchEvent( new Event("READY") ); if( _autoPlay ) play(); } public static var bmp:BitmapData; public static function load():void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener( Event.COMPLETE, function(e:Event):void{ var _frameRate:int = 8; bmp = Bitmap( loader.content ).bitmapData; const frameWidth:int = 20; const frameHeight:int = 34; var numFrames:int = bmp.width/frameWidth; for( var i:int=0; i< numFrames; ++i ) { for( var f:int=0; f<_frameRate; ++f ) { var frame:BitmapData = new BitmapData( frameWidth, frameHeight, true, 0 ); var matrix:Matrix = new Matrix(); matrix.translate( -i*frameWidth, 0 ); frame.draw( bmp, matrix ); frames.push( frame ); } } loadf = true; } ); loader.load( new URLRequest(imgSrc), new LoaderContext(true) ); } private function update(e:Event=null):void { _frame.bitmapData = frames[_currentFrame] _currentFrame = (_currentFrame+1) % _totalFrames; } public function play():void { if( isReady ) addEventListener( Event.ENTER_FRAME, update ); } public function stop():void { removeEventListener( Event.ENTER_FRAME, update ); } public function get currentFrame():int { return _currentFrame+1; } public function get totalFrames():int { return _totalFrames; } public function get isReady():Boolean { return frames && frames.length>0; } } forked from: Checkmate Vol.6 Sponser