forked from: massmedian challenge

by ayataka forked from massmedian challenge (diff: 53)
♥0 | Line 65 | Modified 2009-07-10 23:44:32 | MIT License | (replaced)
play

ActionScript3 source code

/**
 * Copyright ayataka ( http://wonderfl.net/user/ayataka )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/7AwC
 */

// forked from checkmate's massmedian challenge
package {
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	import flash.net.*;
        import flash.system.LoaderContext;
        
        import flash.text.*;	

	public class Begineer extends Sprite{
		
		
		//-------------------------------//
		// Use properties as follows.
		//-------------------------------//
		private var _sliceList:Array;
                
                
                private var count:int = 0;
		private var inc:int = 5;

                private var isFirst:Boolean = true;
                
                // for debug
		private var tf:TextField = new TextField();
		
		
		//-------------------------------//
		// Change functions as follows.
		//-------------------------------//
		public function updateEnterFrame( e:Event ):void{
                    
                    // initialize
                    if( isFirst ) {
                        this.addChild( tf );
                        tf.text = String( _sliceList.length );
                        isFirst = false;
                        
                        var ite:DisplayObject;
                        for each (ite in _sliceList) {
                            // set center
                            ite.y = this.stage.stageHeight/2-ite.height/2;
                        }
                    }
                    
                    //return; // おーもーいー
                    
                    ///* ジャミジャミジャミ
                    var ite:DisplayObject;
                    for each (ite in _sliceList) {
                        ite.y = Math.random()*5+150;
                        ite.rotationZ = Math.random()*20;
                    }
                    //return;
                    //*/
                    
                    //
                    for(var i:int = 0; i < _sliceList.length; ++i) {
                        if( i == _sliceList.length - 1 ) {
                            _sliceList[i] = _sliceList[0];
                        }
                        else {
                            _sliceList[i].x = _sliceList[i+1].x
                        }
                        //_sliceList[i].rotationX = i;
                    }
                    
                    ++count;
		} 
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		//-------------------------------//
		// 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;
		}
		
	}
}

Forked