Frame 1
percent = Math.floor((getBytesLoaded() / getBytesTotal()) * 100);
myOutput.text = percent + "% is loaded";
Frame 2
if (percent == 100) {
gotoAndPlay (6);
} else {
gotoAndPlay (1);
}
Frame 4
stop();
Frame 6
stop();
Frame 825
_level0.rf.Asteroids.setDriftSpeed(20, 20, 20);
_level0.rf.Asteroids.setDriftAngle(90, 90, 8);
_level0.sf.Stars.setDriftSpeed(1, 1, 5);
_level0.sf.Stars.setDriftAngle(90, 90, 6);
Frame 1193
stop();
Symbol 32 Button
on (release) {
gotoAndPlay (7);
}
Instance of Symbol 40 MovieClip "ExplosionMarker" in Symbol 43 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 42 MovieClip "EB" in Symbol 43 MovieClip Frame 1
onClipEvent (load) {
function BigBoom(XFlashRad, XFadeRad, XFlashDuration, XFadeDuration) {
this.flashDuration = XFlashDuration;
this.flashCount = 0;
this.flashIncrement = 90 / XFlashDuration;
this.flashMaxdis = XFlashRad / 2;
this.fadeDuration = XFadeDuration;
this.fadeCount = 0;
this.fadeIncrement = 90 / XFadeDuration;
this.fadeMaxdis = XFadeRad / 2;
this.dis = 1;
this.lastFade = XFadeDuration / 2;
this.degrees = new Array();
this.boomBalls = new Array(0);
countbb = mf(mr() * 10) + 8;
bb = 0;
while (bb < 8) {
this.boomBalls[bb] = new BoomBall(bb, XFlashRad);
this.boomBalls[bb].placement.MD = 0;
this.boomBalls[bb].angle = (this.boomBalls[bb].placement.A = (mr() * 45) * (bb * 45));
bb++;
}
bb = 8;
while (bb < countbb) {
this.boomBalls[bb] = new BoomBall(bb, XFlashRad);
this.boomBalls[bb].placement.MD = mr() * (this.flashMaxdis / 2);
bb++;
}
count = mf(mr() * 4) + 3;
tempPoints = new Array();
tempPoints[0] = mr() * 120;
tempPoints[1] = (mr() * 120) + 120;
tempPoints[2] = (mr() * 120) + 240;
i = 3;
while (i < count) {
tempPoints[i] = mr() * 360;
i++;
}
tempPoints[tempPoints.length] = 360;
tempPoints.sort(numberOrder);
i = 0;
while (i < count) {
this.degrees[this.degrees.length] = tempPoints[i];
this.degrees[this.degrees.length] = ((tempPoints[i + 1] - tempPoints[i]) / 2) + tempPoints[i];
i++;
}
i = 0;
while (i < this.degrees.length) {
this.degrees[i] = new Point(this.degrees[i], 0);
this.degrees[i + 1] = new Point(this.degrees[i + 1], mr() * (this.flashMaxdis / 2));
this.degrees[i + 1].SD = this.degrees[i + 1].D;
this.degrees[i + 1].MD = (mr() * this.flashMaxdis) + this.flashMaxdis;
i = i + 2;
}
this.animate = ExplosionGoBoom;
}
function BoomBall(id, relativeScale) {
this.id = id;
this.fillColor = 10027008 /* 0x990000 */;
this.angle = mr() * 360;
this.xDeform = mr() * 0.2;
this.yDeform = mr() * 0.2;
this.viewScale = ((mr() * 0.5) + 0.5) * (relativeScale / 300);
this.placement = new Point(this.angle, 0);
this.outerFill = 16711680 /* 0xFF0000 */;
this.innerFill = 16777215 /* 0xFFFFFF */;
this.draw = drawBoomBall;
this.animate = boomBallAnimate;
}
function Point(A, D) {
this.A = A;
this.D = D;
this.SD = D;
this.Y = (-D) * mc(Deg2Rad * A);
this.X = D * ms(Deg2Rad * A);
this.figurePoint = PointCalc;
}
function ExplosionGoBoom() {
i = 0;
while (i < this.boomBalls.length) {
this.boomBalls[i].animate(this);
i++;
}
if (this.flashCount < this.flashDuration) {
this.MC = createEmptyMovieClip("Boom", 1);
with (Boom) {
beginFill(16777215, 100);
lineStyle(1, 10027008, 100);
moveto(this.degrees[this.degrees.length - 1].X, this.degrees[this.degrees.length - 1].Y);
i = 0;
while (i < this.degrees.length) {
tempDis = ((this.degrees[i + 1].MD - this.degrees[i + 1].SD) * ms(Deg2Rad * (this.flashIncrement * (this.flashCount++)))) + this.degrees[i + 1].SD;
this.degrees[i].figurePoint((tempDis / 10) * -1);
this.degrees[i + 1].figurePoint(tempDis);
curveto(this.degrees[i].X, this.degrees[i].Y, this.degrees[i + 1].X, this.degrees[i + 1].Y);
i = i + 2;
}
endFill();
}
} else if (this.fadeCount < this.fadeDuration) {
this.dis = (this.fadeMaxdis - this.flashMaxdis) * ms(Deg2Rad * (this.fadeIncrement * (this.fadeCount++)));
clipAlpha = 100 - ((100 / this.fadeDuration) * this.fadeCount);
this.MC = createEmptyMovieClip("Boom", 1);
with (Boom) {
beginFill(16711680, clipAlpha);
lineStyle(1, 10027008, clipAlpha);
moveto(this.degrees[this.degrees.length - 1].X, this.degrees[this.degrees.length - 1].Y);
i = 0;
while (i < this.degrees.length) {
curveto(this.degrees[i].X, this.degrees[i].Y, this.degrees[i + 1].X, this.degrees[i + 1].Y);
i = i + 2;
}
endFill();
_xscale = (_yscale = 100 + this.dis);
}
} else if (this.lastFade > 0) {
this.fadeCount++;
i = 0;
while (i < this.boomBalls.length) {
this.boomBalls[i].mc._alpha = 100 - (100 / this.lastFade);
i++;
}
this.lastFade--;
} else {
i = 0;
while (i < this.boomBalls.length) {
this.boomBalls[i].mc.removeMovieClip();
i++;
}
this.MC.removeMovieClip();
BB = new BigBoom(XFlashRad, XFadeRad, XFlashDuration, XFadeDuration);
}
}
function PointCalc(D) {
this.D = D;
this.Y = (-D) * mc(Deg2Rad * this.A);
this.X = D * ms(Deg2Rad * this.A);
}
function checkLength(str) {
while (str.length < 2) {
str = "0" + str;
}
return(str);
}
function boomBallAnimate(pa) {
fD = pa.fadeDuration + pa.flashDuration;
fC = pa.fadeCount + pa.flashCount;
fI = 90 / (pa.fadeDuration + pa.flashDuration);
tempPer = (100 / fD) * fC;
tempDis = ((this.placement.MD - this.placement.SD) * ms(Deg2Rad * (fC * fI))) + this.placement.SD;
if (fC < fD) {
OFR = 255 - mf((1 / (fD - fC)) * 255);
OFR = checkLength(OFR.toString(16));
this.outerFill = ("0x" + OFR) + "0000";
IFRG = 255 - mf((1 / (fD - fC)) * 225);
IFB = mf((1 / (fD - fC)) * 25);
IFRG = checkLength(IFRG.toString(16));
IFB = checkLength(IFB.toString(16));
this.innerFill = (("0x" + IFRG) + IFRG) + IFB;
}
this.placement.figurePoint(tempDis);
this.draw(100, tempPer);
this.mc._xscale = (tempPer * this.viewScale) + this.xDeform;
this.mc._yscale = (tempPer * this.viewScale) + this.yDeform;
}
function drawBoomBall(outerRadius, innerRadius) {
this.mc = createEmptyMovieClip("bb" + this.id, 100 + this.id);
with (this.mc) {
Outw1 = outerRadius / 2;
Outw2 = (-outerRadius) / 2;
Outh1 = (-outerRadius) / 2;
Outh2 = -outerRadius;
Inw1 = innerRadius / 2;
Inw2 = (-innerRadius) / 2;
Inh1 = (-innerRadius) / 2;
Inh2 = -innerRadius;
beginFill(this.outerFill, 100);
lineStyle(1, 0, 0);
moveto(0, 0);
curveto(Outw1, 0, Outw1, Outh1);
curveto(Outw1, Outh2, 0, Outh2);
curveto(Outw2, Outh2, Outw2, Outh1);
curveto(Outw2, 0, 0, 0);
endFill();
beginFill(this.innerFill, 80);
lineStyle(1, 0, 1);
moveto(0, 0);
curveto(Inw1, 0, Inw1, Inh1);
curveto(Inw1, Inh2, 0, Inh2);
curveto(Inw2, Inh2, Inw2, Inh1);
curveto(Inw2, 0, 0, 0);
endFill();
lineStyle(0.25, 0, 80);
moveto(Outw1, Outh1);
curveto(Outw1, Outh2, 0, Outh2);
curveto(Outw2, Outh2, Outw2, Outh1);
_rotation = this.angle;
_x = this.placement.X;
_y = this.placement.Y;
}
}
function numberOrder(a, b) {
return(a - b);
}
XFlashDuration = 2;
XFlashRad = 75;
XFadeDuration = 8;
XFadeRad = 150;
var mr = Math.random;
var mf = Math.floor;
var mp = Math.PI;
var mc = Math.cos;
var ms = Math.sin;
var Deg2Rad = (mp / 180);
BB = new BigBoom(XFlashRad, XFadeRad, XFlashDuration, XFadeDuration);
}
onClipEvent (enterFrame) {
BB.animate();
}
Symbol 230 MovieClip Frame 1
function StarField(sfCount, sfWidth, sfHeight, sfSpeed, sfEndSpeed, sfFrameSpeed, sfWarp, sfAngle, sfEndAngle, sfFrameTurn) {
this.fieldWidth = sfWidth;
this.fieldHeight = sfHeight;
this.driftSpeed = sfSpeed;
this.driftStartSpeed = sfSpeed;
this.driftEndSpeed = sfEndSpeed;
this.driftFrameSpeed = sfFrameSpeed;
this.driftFrameSpeedCount = 1;
this.driftAcceleration = 90 / sfFrameSpeed;
this.driftWarpSpeed = sfWarp;
this.driftAngle = sfAngle;
this.driftStartAngle = sfAngle;
this.driftEndAngle = sfEndAngle;
this.driftFrameTurn = sfFrameTurn;
this.driftFrameTurnCount = 1;
this.driftTurnRate = 90 / sfFrameTurn;
this.stars = new Array(sfCount);
this.MC = createEmptyMovieClip("MC", 0);
this.makeStars = StarField_makeStars;
this.driftStars = StarField_driftStars;
this.setDriftSpeed = StarField_setDriftSpeed;
this.setDriftAngle = StarField_setDriftAngle;
this.makeStars();
}
function Star(starfield, starX, starY, starZ, starScale, starName, MClevel) {
this.X = starX;
this.Y = starY;
this.Z = starZ;
this.startScale = starScale;
this.viewScale = this.startScale * starZ;
this.MC = starfield.attachMovie(starName, "star_" + MClevel, MClevel);
this.MC._x = starX;
this.MC._y = starY;
this.MC._xscale = this.viewScale;
this.MC._yscale = this.viewScale;
}
function StarField_makeStars() {
this.MC._x = 0;
this.MC._y = 0;
this.MC.beginFill(19, 100);
this.MC.lineStyle(0, 0, 0);
this.MC.moveTo(0, 0);
this.MC.lineTo(this.fieldWidth, 0);
this.MC.lineTo(this.fieldWidth, this.fieldHeight);
this.MC.lineTo(0, this.fieldHeight);
this.MC.lineTo(0, 0);
this.MC.endFill();
s = 0;
while (s < this.stars.length) {
starX = (mr() * (this.fieldWidth + 20)) - 10;
starY = (mr() * (this.fieldHeight + 20)) - 10;
starZ = (mr() * 60) + 40;
starScale = (mr() * 0.6) + 0.4;
starName = "Star_" + mf(mr() * 5);
this.stars[s] = new Star(this.MC, starX, starY, starZ, starScale, starName, s + 1);
s++;
}
}
function StarField_setDriftSpeed(dSSpd, dESpd, dFrm) {
this.driftStartSpeed = dSSpd;
this.driftEndSpeed = dESpd;
this.driftFrameSpeed = dFrm;
this.driftFrameSpeedCount = 1;
this.driftAcceleration = 90 / dFrm;
}
function StarField_setDriftAngle(dSAng, dEAng, dFrm) {
this.driftStartAngle = dSAng;
this.driftEndAngle = dEAng;
this.driftFrameTurn = dFrm;
this.driftFrameTurnCount = 1;
this.driftTurnRate = 90 / dFrm;
}
function StarField_driftStars() {
dsE = this.driftEndSpeed;
dsS = this.driftStartSpeed;
dsWS = this.driftWarpSpeed;
dsF = this.driftFrameSpeed;
dsFC = this.driftFrameSpeedCount++;
dsA = this.driftAcceleration;
if (dsFC <= dsF) {
speedRate = dsA * dsFC;
this.driftSpeed = ((dsE - dsS) * ms(Deg2Rad * speedRate)) + dsS;
}
ds = this.driftSpeed;
daS = this.driftStartAngle;
daE = this.driftEndAngle;
daF = this.driftFrameTurn;
daFC = this.driftFrameTurnCount++;
daTR = this.driftTurnRate;
if (dsFC <= dsF) {
TurnRate = daTR * dsFC;
this.driftAngle = ((daE - daS) * ms(Deg2Rad * TurnRate)) + daS;
}
da = this.driftAngle;
if (ds >= (dsWS + 1)) {
warpSpeed = true;
} else {
warpSpeed = false;
}
s = 0;
while (s < this.stars.length) {
star = this.stars[s];
dis = ds * (star.Z / 100);
if (warpSpeed) {
star.MC._yscale = star.viewScale * (dis - dsWS);
star.MC._rotation = da;
}
star.MC._y = star.MC._y + ((-dis) * mc((mp / 180) * da));
star.MC._x = star.MC._x + (dis * ms((mp / 180) * da));
sW = star.MC._width;
sH = star.MC._height;
if (star.MC._x < (-sW)) {
star.MC._x = star.MC._x + (this.fieldWidth + sW);
} else if (star.MC._x > (this.fieldWidth + sW)) {
star.MC._x = star.MC._x - (this.fieldWidth + sW);
}
if (star.MC._y < (-sH)) {
star.MC._y = star.MC._y + (this.fieldHeight + sH);
} else if (star.MC._y > (this.fieldHeight + sH)) {
star.MC._y = star.MC._y - (this.fieldHeight + sH);
}
s++;
}
}
starFieldCount = 13;
starFieldWidth = 600;
starFieldHeight = 280;
starFieldStartSpeed = 0;
starFieldStopSpeed = 0;
starFieldFrameSpeed = 0;
starFieldWarpSpeed = 25;
starFieldStartAngle = 90;
starFieldStopAngle = 90;
starFieldFrameTurn = 1;
var mr = Math.random;
var mf = Math.floor;
var mp = Math.PI;
var mc = Math.cos;
var ms = Math.sin;
var Deg2Rad = (Math.PI/180);
Stars = new StarField(starFieldCount, starFieldWidth, starFieldHeight, starFieldStartSpeed, starFieldStopSpeed, starFieldFrameSpeed, starFieldWarpSpeed, starFieldStartAngle, starFieldStopAngle, starFieldFrameTurn);
Symbol 230 MovieClip Frame 3
Stars.driftStars();
gotoAndPlay (2);
Symbol 231 MovieClip Frame 1
function RoidField(sfCountS, sfCountD, sfWidth, sfHeight, sfSpeed, sfEndSpeed, sfFrameSpeed, sfWarp, sfAngle, sfEndAngle, sfFrameTurn) {
this.fieldWidth = sfWidth;
this.fieldHeight = sfHeight;
this.driftSpeed = sfSpeed;
this.driftStartSpeed = sfSpeed;
this.driftEndSpeed = sfEndSpeed;
this.driftFrameSpeed = sfFrameSpeed;
this.driftFrameSpeedCount = 1;
this.driftAcceleration = 90 / sfFrameSpeed;
this.driftWarpSpeed = sfWarp;
this.driftAngle = sfAngle;
this.driftStartAngle = sfAngle;
this.driftEndAngle = sfEndAngle;
this.driftFrameTurn = sfFrameTurn;
this.driftFrameTurnCount = 1;
this.driftTurnRate = 90 / sfFrameTurn;
this.roids = new Array(sfCountS + sfCountD);
this.detailedRoids = sfCountD;
this.MC = createEmptyMovieClip("MC", 0);
this.makeRoids = RoidField_makeRoids;
this.driftRoids = RoidField_driftRoids;
this.setDriftSpeed = RoidField_setDriftSpeed;
this.setDriftAngle = RoidField_setDriftAngle;
this.makeRoids();
}
function Roid(roidfield, roidName, roidX, roidY, roidZ, roidScale, roidRotation, roidFrame, MClevel) {
this.X = roidX;
this.Y = roidY;
this.Z = roidZ;
this.startScale = roidScale;
this.viewScale = this.startScale * roidZ;
this.MC = roidfield.attachMovie(roidName, "roid" + MClevel, (roidZ * 100) + mr());
this.MC.gotoAndStop(roidFrame);
this.MC._rotation = roidRotation;
this.MC._x = roidX;
this.MC._y = roidY;
this.MC._xscale = this.viewScale + (this.viewScale * ((mr() * 0.8) - 0.4));
this.MC._yscale = this.viewScale + (this.viewScale * ((mr() * 0.8) - 0.4));
this.MC.Z = this.Z;
this.MC.spin = (mf(mr() * 10) - 5) * 0.5;
tempColor = new Color(this.MC);
tempTransform = tempColor.getTransform();
tempTransform.ra = roidZ + 30;
tempTransform.ga = roidZ + 20;
tempTransform.ba = roidZ + 10;
tempColor.setTransform(tempTransform);
this.MC.onEnterFrame = function () {
this._rotation = this._rotation + ((0.01 * this.Z) * this.spin);
};
this.randomize = Roid_randomize;
}
function Roid_randomize() {
this.MC._rotation = mr() * 360;
this.MC.gotoAndStop(mf(mr() * 19) + 1);
this.MC.spin = (mf(mr() * 10) - 5) * 0.5;
this.MC._xscale = this.viewScale + (this.viewScale * ((mr() * 0.8) - 0.4));
this.MC._yscale = this.viewScale + (this.viewScale * ((mr() * 0.8) - 0.4));
}
function RoidField_makeRoids() {
s = 0;
while (s < this.roids.length) {
if (s < this.detailedRoids) {
roidName = "Roid_" + (mf(mr() * 2) + 4);
roidZ = (mr() * 20) + 70;
roidScale = (mr() * 0.6) + 0.3;
} else {
roidName = "Roid_" + (mf(mr() * 3) + 1);
roidZ = (mr() * 50) + 10;
roidScale = (mr() * 0.6) + (mr() * 0.4);
}
roidX = (mr() * (this.fieldWidth + 20)) - 10;
roidY = (mr() * (this.fieldHeight + 20)) - 10;
roidFrame = mf(mr() * 19) + 1;
roidRotation = mr() * 360;
this.roids[s] = new Roid(this.MC, roidName, roidX, roidY, roidZ, roidScale, roidRotation, roidFrame, s + 1);
s++;
}
}
function RoidField_setDriftSpeed(dSSpd, dESpd, dFrm) {
this.driftStartSpeed = dSSpd;
this.driftEndSpeed = dESpd;
this.driftFrameSpeed = dFrm;
this.driftFrameSpeedCount = 1;
this.driftAcceleration = 90 / dFrm;
}
function RoidField_setDriftAngle(dSAng, dEAng, dFrm) {
this.driftStartAngle = dSAng;
this.driftEndAngle = dEAng;
this.driftFrameTurn = dFrm;
this.driftFrameTurnCount = 1;
this.driftTurnRate = 90 / dFrm;
}
function RoidField_driftRoids() {
dsE = this.driftEndSpeed;
dsS = this.driftStartSpeed;
dsWS = this.driftWarpSpeed;
dsF = this.driftFrameSpeed;
dsFC = this.driftFrameSpeedCount++;
dsA = this.driftAcceleration;
if (dsFC <= dsF) {
speedRate = dsA * dsFC;
this.driftSpeed = ((dsE - dsS) * ms(Deg2Rad * speedRate)) + dsS;
}
ds = this.driftSpeed;
daS = this.driftStartAngle;
daE = this.driftEndAngle;
daF = this.driftFrameTurn;
daFC = this.driftFrameTurnCount++;
daTR = this.driftTurnRate;
if (dsFC <= dsF) {
TurnRate = daTR * dsFC;
this.driftAngle = ((daE - daS) * ms(Deg2Rad * TurnRate)) + daS;
}
da = this.driftAngle;
if (ds >= (dsWS + 1)) {
warpSpeed = true;
} else {
warpSpeed = false;
}
s = 0;
while (s < this.roids.length) {
roid = this.roids[s];
dis = ds * (roid.Z / 100);
if (warpSpeed) {
roid.MC._yscale = roid.viewScale * (dis - dsWS);
roid.MC._rotation = da;
}
roid.MC._y = roid.MC._y + ((-dis) * mc((mp / 180) * da));
roid.MC._x = roid.MC._x + (dis * ms((mp / 180) * da));
sW = roid.MC._width / 2;
sH = roid.MC._height / 2;
if (roid.MC._x < (-sW)) {
roid.randomize();
roid.MC._x = this.fieldWidth + (roid.MC._width / 2);
roid.MC._y = (mr() * (this.fieldHeight + roid.MC._height)) - (roid.MC._height / 2);
} else if (roid.MC._x > (this.fieldWidth + sW)) {
roid.randomize();
roid.MC._x = -(roid.MC._width / 2);
roid.MC._y = (mr() * (this.fieldHeight + roid.MC._height)) - (roid.MC._height / 2);
}
if (roid.MC._y < (-sH)) {
roid.randomize();
roid.MC._x = (mr() * (this.fieldWidth + roid.MC._width)) - (roid.MC._width / 2);
roid.MC._y = this.fieldHeight + (roid.MC._height / 2);
} else if (roid.MC._y > (this.fieldHeight + sH)) {
roid.randomize();
roid.MC._x = (mr() * (this.fieldWidth + roid.MC._width)) - (roid.MC._width / 2);
roid.MC._y = -(roid.MC._height / 2);
}
s++;
}
}
roidFieldCountSimple = 30;
roidFieldCountDetail = 4;
roidFieldWidth = 600;
roidFieldHeight = 280;
roidFieldStartSpeed = 5;
roidFieldStopSpeed = 5;
roidFieldFrameSpeed = 1;
roidFieldWarpSpeed = 30;
roidFieldStartAngle = 78;
roidFieldStopAngle = 78;
roidFieldFrameTurn = 1;
var mr = Math.random;
var mf = Math.floor;
var mp = Math.PI;
var mc = Math.cos;
var ms = Math.sin;
var Deg2Rad = (Math.PI/180);
Asteroids = new RoidField(roidFieldCountSimple, roidFieldCountDetail, roidFieldWidth, roidFieldHeight, roidFieldStartSpeed, roidFieldStopSpeed, roidFieldFrameSpeed, roidFieldWarpSpeed, roidFieldStartAngle, roidFieldStopAngle, roidFieldFrameTurn);
Instance of Symbol 20 MovieClip [Roid_2] in Symbol 231 MovieClip Frame 1
onClipEvent (load) {
this._visible = false;
}
Symbol 231 MovieClip Frame 3
Asteroids.driftRoids();
gotoAndPlay (2);
Symbol 337 MovieClip Frame 31
stop();
Symbol 376 Button
on (release) {
getURL ("http://www.comerstheseries.com/index.shtml", "_blank");
}
Symbol 380 Button
on (release) {
gotoAndPlay (7);
}