Mouse Events demo

by Ivan_Kuckir
Flash version of http://lib.ivank.net/?p=demos&d=mevents
♥0 | Line 40 | Modified 2012-09-06 05:18:17 | MIT License
play

ActionScript3 source code

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

package 
{
    import flash.display.Sprite;
    import flash.display.Loader;

    import flash.events.MouseEvent;
    import flash.net.URLRequest;
    import flash.geom.Point;
    
    public class Demo extends Sprite
    {
        var p = new Point(0,0), cur = null;
        
        public function Demo() 
        {
            stage.frameRate = 60;
            
            for(var i=0; i<20; i++)
            {
                var b = new Loader();
                b.load(new URLRequest("http://lib.ivank.net/demos/ball.png"));
                b.x = Math.random()*900;
                b.y = Math.random()*500;
                //b.buttonMode = true;
                b.alpha = 0.7;
                stage.addChild(b);
             
                b.addEventListener(MouseEvent.MOUSE_OVER, onMOv);
                b.addEventListener(MouseEvent.MOUSE_OUT , onMOu);
                b.addEventListener(MouseEvent.MOUSE_DOWN, onMD );
                b.addEventListener(MouseEvent.MOUSE_UP  , onMU );
            }
            stage.addEventListener(MouseEvent.MOUSE_MOVE, onMM );
        }
      
        function onMOv(e){ e.target.alpha = 1;   }
        function onMOu(e){ e.target.alpha = 0.7; }
        function onMD (e){ cur = e.target; p.x = cur.mouseX; p.y = cur.mouseY; }
        function onMU (e){ cur = null; }
        function onMM (e)
        {
            if(cur == null) return;
            cur.x = stage.mouseX - p.x;
            cur.y = stage.mouseY - p.y;
        }
    }
}