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

forked from: けむり

Get Adobe Flash player
by kanariia 03 Jun 2009
// forked from 178ep3's けむり
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.filters.BlurFilter;
	
[SWF(width=465, height=465, frameRate=30, backgroundColor=0x000000)]
	public class smoke extends Sprite
	{
		private var _stg:Sprite;
		private var _list:Array = [];

		public function smoke()
		{
			_stg = new Sprite();
			addChild(_stg);
			_stg.filters = [new BlurFilter(20,20,2)];
			
			addEventListener(Event.ENTER_FRAME,loop);
		}
		
		private function loop(e:Event):void
		{
			for(var j:uint=0; j<20; j++)
			{
				//var pc:Par = new Par(mouseX,mouseY);
//発生箇所をマウス位置じゃなくてx座標はランダムでy座標は下に固定
var randomW:Number=Math.random()*stage.stageWidth;
var pc:Par=new Par(randomW,stage.stageHeight)
				_stg.addChild(pc);
				_list.push(pc);
			}
			
            var len:int = _list.length-1;
            for (var i:int = len; i>-1; i--)
            {
                if (!_list[i].move())
                {
                    _stg.removeChild(_list[i]);
                    _list[i] = null;
                    _list.splice(i, 1);
                }
            }
		}
	}
}

	import flash.display.Sprite;
	import flash.display.Shape;
	import flash.filters.BlurFilter;

	class Par extends Sprite
	{
		private var _p:Shape;
		private var _vx:Number;
		private var _vy:Number;
		private var _r:Number;
		private var _fric:Number = 0.95;
		
		private var _a:int = 0;
		
		public function Par(sx:Number,sy:Number)
		{
			_p = new Shape();
			addChild(_p);
			
			_p.x = sx;
			_p.y = sy;
			_p.graphics.beginFill(0xffffff);
			_p.graphics.drawCircle(0,0,5);
			_p.graphics.endFill();
			
			var rad:Number = Math.random() * 360 * Math.PI /180;
        	_r = Math.random() * 5;
        	_vx = Math.cos(rad) * _r;
        	_vy = Math.sin(rad) * _r;
		}
		
		public function move():Boolean
		{
			_p.x += _vx;
			_p.y += _vy;
			_vx *= _fric;
			_vy *= _fric;
			
			_p.alpha = 0.8 - (_a/50);
			_a++;
			
			if(_a>40)
			{
				return false;
			}
				return true;
		}	
	}