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

Make my mouse shine

Get Adobe Flash player
by MixedMilkChOcOlate 25 Aug 2009
/**
 * Copyright MixedMilkChOcOlate ( http://wonderfl.net/user/MixedMilkChOcOlate )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/kEzm
 */

package {
    import flash.display.Sprite;
    import flash.display.MovieClip;
    import flash.events.*;
    import flash.filters.BlurFilter;
    
    [SWF(frameRate="30", backgroundColor="#000000")]
    
    public class MouseEfect extends Sprite {
        private var _ar_obj:Array = new Array();
        private var _boolMouse:Boolean;
              
        public function MouseEfect () {     
            _ar_obj = new Array();
            _boolMouse = true;
            
            stage.addEventListener(Event.MOUSE_LEAVE, stageOut);
            stage.addEventListener(MouseEvent.MOUSE_MOVE, stageOver);
            
            this.addEventListener(Event.ENTER_FRAME, enter_f);
        }
        
        public function stageOver(me:MouseEvent):void {
            _boolMouse = true;
        }
        
        public function stageOut(e:Event):void {
            _boolMouse = false;
        }
        
        public function enter_f(e:Event):void {
            if(_boolMouse) {
                createClassObject();
            }
            
            for(var i:int = 0 ; i < _ar_obj.length ; i++) {
                _ar_obj[i]["_obj"].alpha -= 0.04;
                _ar_obj[i]["_obj"].y -= _ar_obj[i]["_cptY"];
                _ar_obj[i]["_obj"].x -= _ar_obj[i]["_cptX"];
                
                var blur:BlurFilter = new BlurFilter(_ar_obj[i]["_blur"] , _ar_obj[i]["_blur"], 3);
                
                _ar_obj[i]["_obj"].filters = [ blur ];
                
                _ar_obj[i]["_cptX"] = Math.random() * 2 - 1;
                _ar_obj[i]["_cptY"] += _ar_obj[i]["_cptY"] / 40;
               
                if(_ar_obj[i]["_alpha"] <= 0) {
                     _ar_obj.slice(_ar_obj[i]["_position"], _ar_obj[i]["_position"] + 1);
                     this.setChildIndex(_ar_obj[i]["_obj"], 0);
                     this.removeChildAt(0);
                }
                
            }
        }
        
        // 
        public function createClassObject():void {
            
            // creat a sprite and add it to the output
            var particule:Sprite = new Sprite();
            particule.graphics.beginFill(0xFFFFFF);
            
            var r_x:int = Math.random() * 15 - 4;
            var r_y:int = Math.random() * 20;
            var r_w:int = Math.random() * 2 + 1;
            var r_h:int = Math.random() * 2 + 1;
            
            particule.graphics.drawRect(this.mouseX + r_x, this.mouseY + r_y, r_w, r_h);

            // add the sprite to the an Object
            var objComplex:Object = {_obj:particule, _cptY:1, _cptX:0, _blur:1, _position:_ar_obj.length};
            
            // add to the scene
            this.addChild(objComplex["_obj"]);
            _ar_obj.push(objComplex);
        }
    }
}