[ff]: Many Balls

by bradsedito forked from many Balls (diff: 87)
♥0 | Line 84 | Modified 2012-01-21 08:30:29 | MIT License
play

ActionScript3 source code

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






package 
{
    import flash.text.TextField;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import caurina.transitions.Tweener;
    import flash.display.Sprite;
    import flash.display.Shape;
    import org.libspark.betweenas3.BetweenAS3;
    import com.greensock.*;
    import com.greensock.easing.*;

    
    public class FlashTest extends Sprite
    {
        private var ball:Ball;
        private var sw:int;
        private var sh:int;
        private var sd:int;
        private var ballNum:int=100;
        private var ballSize:int=6;
        private var balls:Array=[];
        
        
        public function FlashTest()
        {
            addEventListener(Event.ADDED_TO_STAGE,init);
        }
        
        public function init(e:Event=null):void
        {
            sw=stage.stageWidth;
            sh=stage.stageHeight;
            sd=1000;
            
            createBall();

            stage.addEventListener( MouseEvent.MOUSE_DOWN, downHandler        );
            stage.addEventListener( MouseEvent.MOUSE_UP,   normalizerHandler  );

            /*for(var i:int=0;i<ballNum;i++)
            {                            
                ball[i].addEventListener( MouseEvent.CLICK,      targetClickHandler );
            } 0
            //e.currentTarget.addEventListener(MouseEvent.CLICK,targetClickHandler);
            */
        }
        
        public function createBall():void
        {
            for(var i:int=0;i<ballNum;i++)
            {
                ball  =  new Ball(ballSize,Math.random()*0xffffff);
                addChild(ball);
                
                ball.x=Math.random()*sw;
                ball.y=Math.random()*sh;
                ball.z=0;//Math.random()*sd;
                balls.push(ball);                                                
            }
        }
        
        /*public function targetClickHandler( e:MouseEvent ):void
        {
            //var acquiredTarget:Object=e.target;
            TweenMax.to(e.target, 2, {x:sw/2,y:sh/2,z:-400,ease:Quad.easeIn});
        }
        */

        private function normalizerHandler(e:MouseEvent):void
        {
            for(var i:int=0;i<ballNum;i++)
            {
  
                TweenMax.to( balls[i], 2, { 
                              z:0,
                              ease:Cubic.easeInOut 
                });
            }
        }

//      private function targetClick(e:MouseEvent):void  {
        private function downHandler(e:MouseEvent):void
        {
            for(var i:int=0;i<ballNum;i++)
            {
  
                TweenMax.to( balls[i], 2, { 
                              x:balls[i].x+Math.random()*(sw/2) - ((sw/2)/2),   //200-100,
                              y:balls[i].y+Math.random()*(sh/2) - ((sh/2)/2),   //200-100, 
                              z:balls[i].z+Math.random()*sd,
                              ease:Cubic.easeInOut
                });
            }
        }

    }
}


import flash.display.Sprite;
import flash.display.Shape;
class Ball extends Sprite
{
    public var col:uint;
    public var w:int;

    public function Ball(w:int,col:uint)
    {
      var sp:Shape=new Shape();
      sp.graphics.beginFill(col);
      sp.graphics.drawCircle(0,0,w);
      sp.graphics.endFill();
      addChild(sp)
    }
}








//NOTES:
                              /*TweenMax.to( balls[i], 2, { 
                              x:balls[i].x+Math.random()*200-100,
                              y:balls[i].y+Math.random()*200-100, 
                              z:balls[i].z+Math.random()*500-100,
                              ease:Cubic.easeInOut                      });*/