光晕特效(AS3)

由 夕空 撰写于  2013年5月9日
package  {
import flash.display.BlendMode;
import flash.display.Sprite;
import flash.filters.BlurFilter;
import flash.geom.ColorTransform;
/**
* ...
* @author milkmidi , http://milkmidi.blogspot.com
* *
*/
[SWF(width = "465", height = "465", frameRate = "41", backgroundColor = "#000000")]
public class GlowingEffectMove extends Sprite{
public static const SizeW:int = 465;
public static const SizeH:int = 465;
private var circles:int = 20;
public function GlowingEffectMove() {
for (var i:int = 0; i<circles; i++) {
var _mc:CircleMC = new CircleMC();
addChild(_mc);
_mc.x = Math.random() * SizeW;
_mc.y = Math.random() * SizeH;
var scale:Number = Math.random() * .4 + .8;
_mc.scaleX = scale;
_mc.scaleY = scale;
var _color:ColorTransform = new ColorTransform();
_color.color = getRandomHex();
_mc.transform.colorTransform = _color;
_mc.blendMode = BlendMode.ADD;
var blur:BlurFilter = new BlurFilter(64, 64, 2);
_mc.filters = [blur];
_mc.speedX = Math.round(Math.random() - 1) + .1;
_mc.speedY = Math.round(Math.random() - 1) + .1;
}
}
public static function getRandomHex():uint{
var cr:uint = Math.random() * 255;
var cg:uint = Math.random() * 255;
var cb:uint = Math.random() * 255;
return cr << 16 ^ cg << 8 ^ cb;
}

}

}
import flash.display.Sprite
import flash.events.Event;
class CircleMC extends Sprite {

public var speedX:Number;
public var speedY:Number;

public function CircleMC() {
graphics.beginFill(0xaabbcc);
graphics.drawCircle( 0, 0, 64);
graphics.endFill();
addEventListener(Event.ENTER_FRAME , _enterFrameHandler);
}

private function _enterFrameHandler(e:Event):void {
x += speedX;
y += speedY;
if (x<0) {
speedX = -speedX;
}else if (x>GlowingEffectMove.SizeW) {
speedX = -speedX;
}
if (y<0) {
speedY = -speedY;
}else if (y>GlowingEffectMove.SizeH) {
speedY = -speedY;
}
}
}



声明:星耀夕空|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 光晕特效(AS3)


欢迎光顾我的小站!