flash on 2009-9-25
/**
* Copyright musicbob88 ( http://wonderfl.net/user/musicbob88 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/dsFN
*/
package
{
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.filters.BlurFilter;
import flash.geom.Point;
import flash.geom.ColorTransform;
[SWF(backgroundColor="#000000", frameRate=20)]
public class Main extends Sprite
{
private var canvas:Sprite;
private var members:Array;
private var bitd:BitmapData;
private var bitm:Bitmap;
private var ctf:ColorTransform;
public function Main()
{
canvas = new Sprite();
addChild(canvas);
members = new Array();
bitd = new BitmapData(500, 500, true, 0x00660000);
bitm = new Bitmap(bitd);
addChild(bitm);
ctf = new ColorTransform(1, 1, 10, 10,
-2, -2, -255, 0);
var tg:Item;
var i:uint = 10;
while (i--)
{
tg = new Item();
canvas.addChild(tg);
members.push(tg);
}
addEventListener(Event.ENTER_FRAME, createTg);
}
private function createTg(event:Event):void
{
var tg:Item;
var i:uint = members.length;
while (i--)
{
tg = members[i];
tg.loop();
}
bitd.draw(canvas);
bitd.applyFilter(bitd, bitd.rect, new Point(0,0), new BlurFilter(0, 0, 3));
bitd.colorTransform(bitd.rect, ctf);
}
}
}
import flash.display.Sprite;
import flash.geom.Point;
internal class Item extends Sprite
{
private var current:Point;
private var old:Point;
private var len:Number;
private var angle:Number;
public function Item()
{
current = new Point();
current.x = 150 + 100 * Math.cos(1*Math.PI*2);
current.y = 250 + 100 * Math.sin(1*Math.PI*2);
old = new Point();
old.x = current.x;
old.y = current.y;
len = Math.random()*20+10;
angle = Math.random()*360;
}
public function loop():void
{
graphics.clear();
graphics.lineStyle(Math.random()*4, Math.random()*0xFFFFFF, 1);
graphics.moveTo(old.x, old.y);
graphics.lineTo(current.x, current.y);
old = current;
angle += Math.random()*40-1;
var p:Point = Point.polar(len, angle*Math.PI/180);
p.x += current.x;
p.y += current.y;
current = p;
if (current.x < 0)
{
current.x = 0;
angle += 45;
}
else if (current.x > 500)
{
current.x = 500;
angle += 45;
}
if (current.y < 0)
{
current.y = 0;
angle += 45;
}
else if (current.y > 500)
{
current.y = 500;
angle += 45;
}
}
}