flash on 2010-3-29

by hacker_pm97tc57
♥0 | Line 60 | Modified 2010-03-31 10:15:31 | MIT License
play

ActionScript3 source code

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

package {
	import flash.geom.*;
	import flash.display.*;
	import flash.filters.*;
	import flash.events.*;
	
	[SWF(width=1214, height=467, frameRate=30, backgroundColor=0x000000)]
	public class ParticleEffects extends Sprite {
		public function ParticleEffects () {
			stage.addEventListener(MouseEvent.MOUSE_MOVE, mousemove);
		}
		public function mousemove(e:Event):void
        {
			for (var i:int = 0; i < 1; i++ ) {
				
				var p:Particle = new Particle(
												mouseX + (Math.random() * 10 -5) * 0.5,
												mouseY + (Math.random() * 10 -5) * 0.5
												);

				addChild(p);
			}
        }
	}
}

import flash.geom.*;
import flash.display.*;
import flash.filters.*;
import flash.events.*;
class Particle extends Sprite {
	public function Particle (currentX:Number, currentY:Number) {
		var size:int = Math.random() * 20;
        var r:uint = Math.floor(Math.random() * 256);
		var g:uint = Math.floor(Math.random() * 256);
        var b:uint = Math.floor(Math.random() * 100 + 156);
        var color:Number = (r << 16) | (g << 8) | (b);
		var colors:Array = [color , 0x000000];
		var fillType:String = GradientType.RADIAL;
		var alphas:Array = [1, 1];
		var ratios:Array = [0, 255];
		var mtx:Matrix = new Matrix();
		mtx.createGradientBox(size * 2, size * 2, 0, -size, -size);				//createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
		graphics.beginGradientFill(fillType, colors, alphas, ratios, mtx);		//beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0)
		graphics.drawCircle(0, 0, size);
		graphics.endFill();
		x = currentX;
		y = currentY;
				blendMode = 'add';
		addEventListener(Event.ENTER_FRAME, enterFrame);
	}
	
	public var rx:Number = (Math.random() * 4 -2) ;
	public var ry:Number = (Math.random() * 5 ) ;
	private function enterFrame(e:Event):void {
		alpha -= alpha * 0.05;
		x += rx;
		y += ry -3;
		ry += ry * 0.05
		
		if (alpha <= 0.1) {
			parent.removeChild(this);
			removeEventListener(Event.ENTER_FRAME, enterFrame);
		}
	}
}