Forked from: checkmate's massmedian challenge diff:26 forked from: massmedian challenge 9re forked:2favorite:3lines:62license : MIT License modified : 2009-07-09 13:59:20 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; public class Begineer extends Sprite{ //-------------------------------// // Use properties as follows. //-------------------------------// private var _sliceList:Array; private var _v:Number = 8; private var _x:Number = 0; private var _c:Number = 0.004; private var _vs:Number = 0.08; private var _xs:Number = 0; private var _cs:Number = 0.001; //-------------------------------// // Change functions as follows. //-------------------------------// public function updateEnterFrame( e:Event ):void{ _v -= _x * _c; _x += _v; _vs -= _xs * _cs; _xs += _vs; var slice:DisplayObject = _sliceList[0]; var part:DisplayObject; slice.y = _x - mouseY * 0.3 + 300; slice.scaleY = _xs; var len:int = _sliceList.length; for each (part in _sliceList) { part.y += (slice.y - part.y) * 0.9; part.scaleY += (slice.scaleY - part.scaleY) * 0.8; slice = part; } } //-------------------------------// // 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 m_m AM300 tkinjo loader slice LoaderContext scaleY Event.COMPLETE len width Math.floor target Math.ceil Loader removeEventListener tx mouseY height addEventListener Matrix BitmapData load draw sort new page view favorite forked pv153 forked from: forked from: mass.. jaguar0213 forked:0 favorite:0lines:62 (diff:1) pv464 forked from: forked from: mass.. 9re forked:0 favorite:4lines:69 (diff:16)