In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

MouseGrowEffect

// write as3 code here..
package {	
	import flash.display.*;
	import flash.events.Event;
	import flash.filters.DropShadowFilter;
	import flash.filters.GlowFilter;
    import flash.geom.Point;	

	[SWF(width = "500", height = "500", frameRate = "41", backgroundColor = "#000000", pageTitle = "milkmidi.com")]
	public class MouseGrowEffect extends Sprite
	{	
		private var dep:Number = 0;
        private var linearr:Array = new Array();
        private var dotarr:Array = new Array();
        private var draw_mc:Sprite = new Sprite();
        public function MouseGrowEffect() {
			this.addEventListener(Event.ADDED_TO_STAGE, onAdd2Stage);

        }
		
		private function onAdd2Stage(e:Event):void {
			this.addChild(draw_mc);
			var glow0:GlowFilter = new GlowFilter(0xffffff, 1, 16, 8, 1, 3, true, false);
			var glow1:GlowFilter = new GlowFilter(0xffff00, 1, 8, 8, 1, 3, false, false);
			var dropShadow0:DropShadowFilter = new DropShadowFilter(0, 90, 0xcc3300, 1, 64, 64, 5, 3, false, false, false);
			draw_mc.filters = [glow0, glow1, dropShadow0];			
			this.addEventListener(Event.ENTER_FRAME, onEventEnterFrame);
			
		}
		private function onEventEnterFrame(e:Event):void {
			var _obj:Object = new Object();
			if (mouseX != 0 && mouseX != 0) {
				_obj.x = mouseX;
				_obj.y = mouseY;
				dotarr.push(_obj);
			}
			if (dotarr.length > 15) {
				dotarr.splice(0,1);
			}
			var _g:Graphics = draw_mc.graphics;

			_g.clear();
			_g.lineStyle(0, 0xff0000, 100, true, "none", "round", "round", 1);				
			var _prevPoint:Point = null;
			var _dotLength:int = dotarr.length;		
			if(_dotLength <= 0) return;
			for (var i:int = 1; i < _dotLength; ++i) {		
				var _prevObj:Object = dotarr[i - 1];									
				var _currentObj:Object = dotarr[i];

				_g.lineStyle(i / 1.5  , 0xffffff, 1, true, "none", "round", "round", 1);				
				var _point:Point = new Point(_prevObj.x + (_currentObj.x - _prevObj.x) / 2, _prevObj.y + (_currentObj.y - _prevObj.y) / 2);				
				if (_prevPoint) {
					_g.moveTo(_prevPoint.x,_prevPoint.y);
					_g.curveTo(_prevObj.x,_prevObj.y,_point.x,_point.y);
				} else {
					_g.moveTo(_prevObj.x,_prevObj.y);
					_g.lineTo(_point.x,_point.y);
				}
				_prevPoint = _point;
			}
			if (_currentObj) {
				_g.lineTo(_currentObj.x, _currentObj.y);
			}		
			
		}		
	}
}