Forked from: checkmate's Checkmate Vol.6 Sponser diff:94 forked from: Checkmate Vol.6 Sponser h_sakurai forked:3favorite:0lines:95license : MIT License modified : 2009-12-08 13:17:58 Embed Tweet // 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; } } Code Fullscreen Preview Fullscreen numFrames frame totalFrames scaleY scaleX matrix currentFrame stopOnComplete stop removeEventListener addEventListener play content LoaderContext translate bitmapData BetweenAS3.tween loader Event.COMPLETE Loader sort new page view favorite forked pv68 forked from: forked from: Chec.. Chris.Kelvin forked:0 favorite:0lines:95 (diff:1) pv92 forked from: forked from: Chec.. syROBO forked:0 favorite:0lines:95 (diff:1) pv95 forked from: forked from: Chec.. buriki8 forked:0 favorite:0lines:95 (diff:1)