Можно просто поиграться, эффектов выйдет море

Код:
import flash.display.BitmapData;
import flash.geom.*;
var __cx:Number = 0;
var __ca:Number = 1;
var __cb:Number = 1;
var __bmp:BitmapData = null;
var __dx:Number = 100;
var __dy:Number = 100;
var __dr:Number = 50;
__bmp = new BitmapData (__dx * 4, __dy * 2, false, 0xFFFFFF);
this.attachBitmap (__bmp, 0);
setInterval(this, "calcPoint", 1);
function calcPoint ():Void {
var multi:Number = 1;
var multiAlpha:Number = 1;
var offset:Number = 1;
var offsetAlpha:Number = 0;
var ct:ColorTransform = new ColorTransform (multi, multi, multi, multiAlpha, offset, offset, offset, offsetAlpha);
__bmp.colorTransform (__bmp.rectangle, ct);
__cx += 1;
if (__cx >= 360 * __ca) {
__cx -= 360 * __ca;
__ca++;
}
__cb += __ca;
var a:Number = __cx * (Math.PI / 180);
var b:Number = __ca * (Math.PI / 180);
var x:Number = __dr * Math.cos (a / __ca);
var y:Number = __dr * Math.sin (__cb * __ca);
setPoint (x, y, 0x0000FF, 1);
y = __dr * Math.sin (__cb) * Math.cos (a);
setPoint (x, y, 0x000000, 2);
y = __dr * Math.sin (a);
setPoint (x, y, 0xFF0000, 3);
}
function setPoint (x:Number, y:Number, clr:Number, offset:Number):Void {
__bmp.setPixel32 (x + __dx * offset, y + __dy, clr);
}
Смотреть пару минут
