Forked from: checkmate's massmedian challenge diff:21 forked from: massmedian challenge Riccardo_Bar.. forked:0favorite:0lines:53license : MIT License modified : 2009-07-20 21:26:57 Embed Tweet // forked from checkmate's massmedian challenge package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.net.*; import flash.system.LoaderContext; [SWF(width="465",height="465",frameRate="60")]; public class Begineer extends Sprite{ //-------------------------------// // Use properties as follows. //-------------------------------// private var _sliceList:Array; private var _radius:Number = 150; private var _angle:Number = 0; //-------------------------------// // Change functions as follows. //-------------------------------// public function updateEnterFrame( e:Event ):void{ for(var i:uint = 0; i < _sliceList.length; i++) { var n:Number = Math.random(); //_sliceList[i].blendMode = BlendMode.MULTIPLY; //_sliceList[i].rotationX += n; //_sliceList[i].rotationY += n; //_sliceList[i].rotationZ += n; _sliceList[i].x = 230 + Math.sin(_angle) * _radius; _sliceList[i].y = 200 + Math.cos(_angle) * _radius; _sliceList[i].rotation = Math.sin(_angle) * _radius; //_sliceList[i].scaleX = Math.sin(_angle) * _radius; //_sliceList[i].scaleY = Math.sin(_angle) * _radius; _angle += .1; } } //-------------------------------// // Do not change following codes. //-------------------------------// public function Begineer(){ var ctxt :LoaderContext = new LoaderContext(true); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onLoadComplete ); loader.load( new URLRequest("http://swf.wonderfl.net/static/assets/massmedian.png"), ctxt ); } public function onLoadComplete(e:Event):void { var loader:Loader = LoaderInfo( e.target ).loader; loader.contentLoaderInfo.removeEventListener( Event.COMPLETE, onLoadComplete ); var bitmapdata:BitmapData = new BitmapData( loader.width, loader.height, true, 0xFF0000 ); bitmapdata.draw( loader ); _sliceList = sliceBanner( bitmapdata, bitmapdata.width ); addEventListener( Event.ENTER_FRAME, updateEnterFrame ); } private function sliceBanner( banner:BitmapData, length:int = 100 ):Array{ var sliceList:Array = []; var w:int = Math.floor( banner.width/length ); var h:int = Math.floor( banner.height ); var t:int = Math.ceil( banner.width - w*length ); var mat:Matrix = new Matrix(); for( var i:int = 0; i<length; i++ ) { var bmpd :BitmapData = new BitmapData( w, h, true, 0xFFFF00 ); mat.tx = -w*i; bmpd.draw( banner, mat ); var part:DisplayObject = addChild( new Bitmap( bmpd ) ); part.x = w*i; sliceList.push( part ); } return sliceList; } } } Code Fullscreen Preview Fullscreen loader LoaderContext Event.COMPLETE Math.floor rotation target Math.ceil width Loader length removeEventListener tx height Matrix addEventListener BitmapData load draw URLRequest Math.sin