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

flash on 2009-2-2

Get Adobe Flash player
by stormek 02 Feb 2009
    Embed
package 
{
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.events.*;
 

    public class FlashTest extends Sprite 
    {
        
        private var timer:Timer;        
        private var mouseDown:Boolean;
            
        public function FlashTest() 
        {
           timer = new Timer(10);
           timer.addEventListener(TimerEvent.TIMER, timerHandler);
           stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
           stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
           //stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
           timer.start();
        }
        
        private function mouseDownHandler(event:MouseEvent):void
        {
            mouseDown = true;
        }

        private function mouseUpHandler(event:MouseEvent):void
        {
            mouseDown = false;
        }

        private function timerHandler(event:TimerEvent):void
        {
            if(mouseDown)
            {

                var x:Number = mouseX - 5 + Math.random() * 10;
                var y:Number = mouseY - 5 + Math.random() * 10;
                var r:Number = Math.random() * 5;
                var col:Number = Math.random() * 0xFFFFFF;
                var vx:Number = -10 + Math.random() * 20;
                var vy:Number = Math.random() * -2;
                var dot:Dot = new Dot(x, y, r, col, vx, vy);
                addChild(dot);
            }
        }     

    }

    
        

}

import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;

class Dot extends Shape
{
    
    private var velocityX:Number;
    private var velocityY:Number;
    private static const GRAVITY:Number = .98;
    private var radius:Number;
    private var bounce:Number;
    private var col:Number;    

    public function Dot(x:Number, y:Number, radius:Number, color:Number, velX:Number, velY:Number)
    {
        this.x = x;
        this.y = y;
        this.radius = radius;
        col = color
        bounce = 0.7 * Math.random();

        velocityX = velX;
        velocityY = velY;
        graphics.beginFill(color);
        graphics.drawCircle(0, 0, radius);
        graphics.endFill();

        addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    }

    private function enterFrameHandler(event:Event):void
    {
        x += velocityX;
        velocityX *= .9;
        y += velocityY;
        velocityY += GRAVITY;
        if(y + velocityY +radius > stage.stageHeight)
        {
            if(velocityY >= 3)
            {    
                y = stage.stageHeight - radius;
                velocityY *= -bounce;
            }
            else
            {
                removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
                Sprite(parent).graphics.beginFill(col);
                Sprite(parent).graphics.drawCircle(x, y, radius);
                Sprite(parent).graphics.endFill();
                Sprite(this.parent).removeChild(this);
                //this = null 
            }
        }
    }      

}