Frame 1
nbrPoints = 210;
cycleLength = 180;
speed = nbrPoints / cycleLength;
width = Stage.width;
height = Stage.height;
cx = width / 2;
cy = height / 2;
crad = (width / 2) * 0.95;
kRadiansToDegrees = 57.2957795130823;
kDegreesToRadians = (Math.PI/180);
drawCircle = function (mc, radius) {
var _local2 = mc;
var _local1 = radius;
var n = 8;
var _local3 = 45 * kDegreesToRadians;
var cr = (radius / Math.cos(_local3 / 2));
var angle = 0;
var cangle = ((-_local3) / 2);
_local2.moveTo(x + _local1, y);
_local2.lineTo(x, y + _local1);
_local2.lineTo(x - _local1, y);
_local2.lineTo(x, y - _local1);
_local2.lineTo(x + _local1, y);
};
getColor = function (ratio) {
var _local1 = (Math.PI*2) * ratio;
var _local3 = 128 + (Math.cos(_local1) * 127);
var g = (128 + (Math.cos(_local1 + 2.0943951023932) * 127));
var _local2 = 128 + (Math.cos(_local1 + 4.18879020478639) * 127);
return(((_local3 << 16) | (g << 8)) | _local2);
};
var i = 0;
while (i < nbrPoints) {
var mc = _root.createEmptyMovieClip("mc" + i, 100 + i);
var r = (i / nbrPoints);
var len = (((i + 1) * cRad) / nbrPoints);
var rad = Math.max(2, r * 8);
mc._x = cx;
mc._y = cy;
mc.len = len;
mc.createEmptyMovieClip("dot", 1);
mc.dot._x = len;
mc.dot._y = 0;
mc.dot.clear();
mc.dot.beginFill(getColor(r), 100);
drawCircle(mc.dot, rad);
mc.dot.endFill();
mc.createEmptyMovieClip("outline", 2);
mc.outline.clear();
mc.outline._x = len;
mc.outline._y = 0;
mc.outline.beginFill(getColor(r) | 15790320, 100);
drawCircle(mc.outline, rad + 1);
mc.outline.endFill();
i++;
}
startTime = getTimer() * 0.001;
_root.onEnterFrame = function () {
var elapsed = ((getTimer() * 0.001) - startTime);
if (elapsed >= cycleLength) {
startTime = startTime + cycleLength;
}
var t = ((elapsed * speed) * 360);
var ti = (t / nbrPoints);
var _local3 = 0;
while (_local3 < nbrPoints) {
var _local1 = _root["mc" + _local3];
var at = t;
_local1._rotation = at;
t = t - ti;
var _local2 = at / 360;
_local2 = _local2 - int(_local2);
if ((_local2 < 0.1) || ((_local2 >= 0.5) && (_local2 < 0.6))) {
if (_local1.outline._visible == false) {
_local1.outline._visible = true;
_local1.outline._alpha = 100;
} else {
_local1.outline._alpha = _local1.outline._alpha * 0.95;
}
} else {
_local1.outline._visible = false;
}
_local3++;
}
};
_root.clear();
_root.lineStyle(0.5, 5592405, 100);
_root.moveTo(0, cy);
_root.lineTo(width, cy);