flash on 2010-7-17
# date:2010-7-4
# author 宇智波
# fc202030@qq.com
/**
* Copyright 1314520 ( http://wonderfl.net/user/1314520 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ireR
*/
/*
# date:2010-7-4
# author 宇智波
# fc202030@qq.com
*/
package{
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.geom.*;
[SWF(width=550, height=400, backgroundColor=0,frameRate=30)]
public class Main extends Sprite{
const S:Number=5;
var X:Number;
var Y:Number;
var R:Number;
var glow:GlowFilter;
var colorTrans:ColorTransform;
var blur:BlurFilter;
var point:Point;
var Sp:Sprite;
var bmpData:BitmapData;
var bmp:Bitmap;
var first:Star;
var fc:Star;
//temp variable
var i:int;
var star:Star;
public function Main(){
X=0;
Y=0;
R=0;
glow = new GlowFilter(0,1,16,16,2);
colorTrans = new ColorTransform(0.8,0.9,1,0.9);
blur = new BlurFilter(5,5);
point=new Point(0,0);
Sp = new Sprite();
fc=first=new Star();
Sp.addChild(fc);
while(i++<200){
fc.next=new Star();
Sp.addChild(fc.next);
fc=fc.next;
}
bmpData = new BitmapData(550,400,true,0x0);
bmp = new Bitmap(bmpData);
addChild(bmp);
addEventListener(Event.ENTER_FRAME,run);
}
function run(event:Event){
R=90 + Math.atan2(mouseY - Y, mouseX - X) * 180 / Math.PI;
X+=Math.sin(R*(Math.PI/180))*S;
Y-=Math.cos(R*(Math.PI/180))*S;
fc = fc.next;
if(fc==null)fc=first;
glow.color = (Math.random()*0xFFFFFF)>>0;
fc.filters = [glow];
Sp.addChild(fc);
fc.show(X,Y);
star = first;
while(star!=null){
star.x += star.vx;
star.y += star.vy;
star.z += star.vz;
star.alpha -= 0.005;
star.vx *= 1.01;
star.vy *= 1.01;
star=star.next;
}
bmpData.draw(Sp);
bmpData.colorTransform(bmpData.rect,colorTrans);
bmpData.applyFilter(bmpData,bmpData.rect,point,blur);
}
}
}
import flash.display.Sprite;
class Star extends Sprite{
var vx:Number;
var vy:Number;
var vz:Number;
var next:Star;
public function Star(){
this.alpha=0;
graphics.beginFill(0xffffff);
graphics.drawCircle(0,0,3);
graphics.endFill();
}
public function show(x:Number,y:Number){
vx = (Math.random()*2)-1;
vy = (Math.random()*2)-1;
vz = Math.random()*10-5;
this.z = 0;
this.x = x;
this.y = y;
this.alpha=1;
}
}