PDA

View Full Version : As3 Random circle with blendMode



egoldy
January 17th, 2009, 09:55 AM
I changed my old As2 version to As3 version. here is the preview effect:

http://webstudio.com.cn/test/FXpression09/

Mouse down to change the effect. :)

Main.as


package{
import flash.display.*;
import flash.events.*;
import flash.display.Stage;
import flash.display.StageScaleMode;

public class Main extends MovieClip {

private var _base:Sprite;
private var mc:partical;
private var pNum:Number =25;
private var cX:Number =100;
private var cY:Number =20;
private var xSpread:Number =300;
private var ySpread:Number =300;
private var pScale:Number =1.6;
private var pblend:String ="add";

public function Main(){
_base = new Sprite();
addChild(_base);

init();
stage.scaleMode = StageScaleMode.NO_SCALE;
_base.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);
}
private function init():void{
for(var i:int=0;i<pNum;i++){
mc = new partical();
_base.addChild(mc);
mc.x = cX+Math.random()*xSpread;
mc.y = cY+Math.random()*ySpread;
mc.scaleX =mc.scaleY= pScale+Math.random()*0.5+2.5;

mc.blendMode = pblend;
mc.cacheAsBitmap = true;

mc.tx = Math.random()*360;
mc.ty = Math.random()*360;

mc.xtemp = Math.random()/8;
mc.ytemp = Math.random()/8;

mc.xd = Math.random()*20+1;
mc.yd = Math.random()*20+1;
mc.x0 = mc.x;
mc.y0 = mc.y;

mc.gotoAndStop(Math.round(Math.random()*5)+1);

mc.addEventListener(Event.ENTER_FRAME, enterFrameListener);


}
}
private function enterFrameListener(e:Event):void{
var tempmc:MovieClip = e.target as MovieClip;
tempmc.tx +=tempmc.xtemp;
tempmc.ty +=tempmc.ytemp;
tempmc.x = tempmc.x0+Math.sin(tempmc.tx)*tempmc.xd;
tempmc.y = tempmc.y0+Math.cos(tempmc.ty)*tempmc.yd;

}
private function mouseDownListener(e:MouseEvent):void{
//refresh code here
clear();
init();
}

// clear the former item
private function clear():void {
var i:Number, mc:DisplayObject;
for (i=_base.numChildren-1;i>0;i--) {
mc = _base.getChildAt(i);
mc.removeEventListener(Event.ENTER_FRAME, enterFrameListener);
_base.removeChild(mc);
}
}
}

}

kirupa
January 17th, 2009, 05:14 PM
Added!

Enebreus
January 20th, 2009, 10:56 PM
Hey,

That's a really sweet effect. Really looks like they're emitting their own light.
I appreciate any effect that makes me want to squint my eyes due to perceived brightness :D

Nice Work

egoldy
January 20th, 2009, 11:44 PM
Hey,

That's a really sweet effect. Really looks like they're emitting their own light.
I appreciate any effect that makes me want to squint my eyes due to perceived brightness :D

Nice Work

thank you ! :)

Pasquale
January 21st, 2009, 05:34 AM
I love how organic this feels!

egoldy
January 30th, 2009, 05:51 AM
I love how organic this feels!
Thanks. :}