EnterFrame Event

by Ivan_Kuckir
Flash version of http://lib.ivank.net/?p=demos&d=efevents
♥0 | Line 53 | Modified 2012-09-13 18:15:07 | 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/ixAn
 */

package 
{
    import flash.net.URLRequest;

    import flash.display.Sprite;
    import flash.display.Loader;   
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.system.LoaderContext;

    import flash.geom.Point;
    
    import flash.events.Event;
    
    public class Demo extends Sprite 
    {
        var balls = [];    // balls
        var dirs  = [];    // directions
        
        var context = new LoaderContext();

        public function Demo()
        {            
            stage.frameRate = 60;
            context.checkPolicyFile = true;
            
            var bg = new Loader();
            bg.load(new URLRequest("http://lib.ivank.net/demos/night.jpg"));
            bg.scaleX = stage.stageWidth / 1024;
            bg.scaleY = stage.stageHeight / 512;
            stage.addChild(bg);
           
            //var bd = new BitmapData("ball.png");
            for(var i=0; i<100; i++)
            {
                var b = new Loader();
                b.load(new URLRequest("http://lib.ivank.net/demos/ball.png"));
               // var b = new Bitmap(bd);
                b.x = Math.random()*900;
                b.y = Math.random()*500;
                balls.push(b);
                dirs .push(new Point(2+Math.random()*8, 2+Math.random()*8));
                stage.addChild(b);
            }
            stage.addEventListener(Event.ENTER_FRAME, onEF);
        }

        function onEF(e)
        {
            var b, d;
            var w = stage.stageWidth-100, h = stage.stageHeight-100;
            for(var i=0; i<balls.length; i++) 
            {
                b = balls[i];
                d = dirs[i];
                b.x += d.x;    b.y += d.y;
                if(b.x < 0) d.x =  Math.abs(d.x);
                if(b.x > w) d.x = -Math.abs(d.x);
                if(b.y < 0) d.y =  Math.abs(d.y);
                if(b.y > h) d.y = -Math.abs(d.y);
            }           
        }
    }
}

Forked