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-7-11

Get Adobe Flash player
by ciel_to 10 Jul 2009
    Embed
/**
 * Copyright ciel_to ( http://wonderfl.net/user/ciel_to )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/sXbC
 */

package
{
	import flash.display.Sprite;
	import flash.events.Event;

	public class Mu0710 extends Sprite
	{
		private var _leaf:Array = [];
		private var _apple:Array = [];
		
		public function Mu0710()
		{
			init();
			addEventListener(Event.ENTER_FRAME,loop);
		}
		
		private function init():void
		{
			var i:int;
			for (i = 0; i < 1000; i++) 
            { 
                var rx:Number = Math.random()*stage.stageWidth;
                var ry:Number = Math.random() * 100;
                var leaf:Leaf = addChild(new Leaf(rx,ry)) as Leaf;
                _leaf.push(leaf);
            }
            
            for(i=0; i<10; i++)
            {
            	var a:Apple = addChildAt(new Apple(),Math.random()*1000) as Apple ; 
				a.x = Math.random() * stage.stageWidth; 
				a.y = Math.random() * 100; 
				_apple.push(a); 
            }
		}
		
		private function loop(e:Event):void
		{
			var i:int;
			for(i=400; i<500; i++)
			{
				_leaf[i].Move();
			}
			
			var len:uint = _apple.length;
			for(i=0; i<len; i++)
			{
				_apple[i].Move();
			}
		}
	}
}

import flash.display.Bitmap; 
import flash.display.BitmapData; 
import flash.display.Shape; 
import flash.display.Graphics; 
import flash.utils.Timer; 
import flash.events.TimerEvent; 
import flash.events.Event;

class Leaf extends Bitmap 
{ 
    private var _timer:Timer; 
    private var bx:Number;
    private var _x:Number;
    private var _amp:Number;
    private var _angle:Number;
    private var _v:Number;
    private var _moveFlg:Boolean;
     
    public function Leaf(dx:Number, dy:Number) 
    { 
        this.x = dx; 
        this.y = dy;
        _x = dx;
        _v = Math.random()*1+1;
        _amp = Math.random()*10;
        _angle = Math.random()*360;
        
        draw(); 
         
        var lifeTime:uint = Math.random()*20000+1000;
        _timer = new Timer(lifeTime, 1);  
        _timer.addEventListener(TimerEvent.TIMER, onTimer);
        _timer.start(); 
    } 
     
    private function draw():void 
    { 
        var g:Shape = new Shape();
        with(g.graphics)
        {
        	beginFill(0x7DEA88);  
	        drawEllipse(3.4,0, Math.random()*8+2, Math.random()*8+2);  
	        endFill();  
	     
	        beginFill(0x4DE640);  
	        drawEllipse(1.7,1.7,Math.random()*8+2, Math.random()*8+2);  
	        endFill();  
	     
	        beginFill(0x36BD1E);  
	        drawEllipse(0,0,Math.random()*8+2, Math.random()*8+2);  
	        endFill(); 
        }
        
        var bmd:BitmapData = new BitmapData(15,15,true,0x00);
        bmd.draw(g);
        this.bitmapData = bmd;
        
        g.graphics.clear();
        g = null;
    } 
     
    private function onTimer(event:TimerEvent):void 
    {  
    	_timer.stop();
    	_timer.removeEventListener(TimerEvent.TIMER,onTimer);
    	_timer = null;
        _moveFlg = true;
    }  
     
    public function Move():void 
    {  
    	if(_moveFlg)
    	{
    		_angle += 5;
	        this.x = _x + _amp * Math.sin(_angle*Math.PI/180);  
	        y += _v;  
	        if (y > 410) 
	        {  
	        	this.y = Math.random()*-100;
//	        	_moveFlg = false;
	        }
    	}
    }  
}

class Apple extends Shape 
{ 
    private var _angle:Number = 0; 
    private var _g:Number = 5; 
    private var _add:Number = 0.3;
    private var _prevY:Number=0;
    private var _moveFlg:Boolean;
    
    private var _timer:Timer;
     
    public function Apple() 
    { 
        draw();
        
        var lifeTime:uint = Math.random()*20000+5000;
        _timer = new Timer(lifeTime, 1);  
        _timer.addEventListener(TimerEvent.TIMER, onTimer);
        _timer.start();
    }
    
    private function draw():void
    {
    	with(this.graphics)
    	{
    		graphics.beginFill(0xff2222); 
      	 	graphics.drawCircle(0,0,13); 
       	 	graphics.endFill();
    	}
    }
    
    private function onTimer(event:TimerEvent):void 
    {  
    	_timer.stop();
    	_timer.removeEventListener(TimerEvent.TIMER,onTimer);
    	_timer = null;
        _moveFlg = true;
    }  
     
    public function Move():void 
    { 
    	if(_moveFlg)
    	{
    		_g += _add;
	    	this.y += _g; 
		    
	        if(this.y > 390) 
	        { 
	            this.y = 390; 
	            _g *= -0.3; 
	        } 
	        if(this.y==_prevY&&this.x<600)
	        {
	        	this.x +=3;
	        }
	        _prevY = this.y;
	    }
    } 
}