Frame 2
function doSomething() {
getURL ("http://rootapex.com/", _blank);
}
stop();
MENU = new ContextMenu();
MENU.hideBuiltInItems();
Functioned = new ContextMenuItem("Root Apex", doSomething);
MENU.customItems.push(Functioned);
_root.menu = MENU;
music = true;
song.stop();
song = new Sound();
song.attachSound("music");
song.start(0, 999);
_root.cursor.swapDepths(999);
link.onRelease = function () {
getURL ("http://rootapex.com/", "blank");
};
Frame 3
var lose = false;
var time = 0;
_root.createEmptyMovieClip("enemylayer", 990);
_root.createEmptyMovieClip("bulletlayer", 991);
var pauses = false;
onEnterFrame = function () {
if (Key.isDown(80) && (_root.pauses == false)) {
pauses = true;
_root.attachMovie("pausemenu", "pausemenu", 993);
pausemenu._x = 315.9;
pausemenu._y = 154.1;
}
};
timer = function () {
if (_root.pauses == false) {
time++;
}
};
var intervaltimer;
intervaltimer = setInterval(timer, 1000);
Frame 4
_root.bulletlayer.removeMovieClip();
_root.enemylayer.removeMovieClip();
_root.pauses = true;
clearInterval(intervaltimer);
replaybut.onRelease = function () {
_root.gotoAndStop("game");
};
link.onRelease = function () {
getURL ("http://rootapex.com/", "blank");
};
Symbol 5 MovieClip [powerupsmall] Frame 1
#initclip 13
Object.registerClass("powerupsmall", powerup);
#endinitclip
Symbol 7 MovieClip [powerupbig] Frame 1
#initclip 7
Object.registerClass("powerupbig", powerup);
#endinitclip
Symbol 9 MovieClip [bullet] Frame 1
#initclip 8
Object.registerClass("bullet", bullet);
#endinitclip
Symbol 11 MovieClip [enemy] Frame 1
#initclip 9
Object.registerClass("enemy", orbenemy);
#endinitclip
Symbol 15 MovieClip Frame 25
stop();
Symbol 23 MovieClip [pausemenu] Frame 1
musicbut.onRelease = function () {
if (_root.music == true) {
_root.music = false;
_root.song.stop();
} else {
_root.music = true;
_root.song.start(0, 9999);
}
};
var q = 3;
qualitybut.onRelease = function () {
if (q == 3) {
q = 2;
_quality = "Medium";
} else if (q == 2) {
q = 1;
_quality = "Low";
} else {
q = 3;
_quality = "High";
}
};
resumebut.onRelease = function () {
_root.pauses = false;
_root.pausemenu.removeMovieClip();
};
Symbol 24 MovieClip [generator] Frame 1
#initclip 10
Object.registerClass("generator", generator);
#endinitclip
Symbol 26 MovieClip [Player] Frame 1
#initclip 11
Object.registerClass("Player", player);
#endinitclip
Symbol 28 MovieClip [cursor] Frame 1
#initclip 12
Object.registerClass("cursor", cursor);
#endinitclip
Symbol 39 MovieClip Frame 1
onLoad = function () {
total = _root.getBytesTotal();
};
onEnterFrame = function () {
total = _root.getBytesTotal();
loaded = _root.getBytesLoaded();
percent = int((loaded / total) * 100);
progresss = ("" + percent) + "%";
mask._xscale = percent;
if (loaded >= total) {
_root.gotoAndStop("startmenu");
}
};
Symbol 64 MovieClip [__Packages.powerup] Frame 0
class powerup extends MovieClip
{
var _width, removeMovieClip, _x, _y;
function powerup () {
super();
}
function orbenemy() {
radius = _width / 2;
}
function onEnterFrame() {
radius = _width / 2;
if (_root.pauses == false) {
if (collideTest(_root.player)) {
if (larger == false) {
if (_root.player.radius >= 15) {
_root.player._width = _root.player._width - 20;
_root.player._height = _root.player._width;
_root.player.radius = _root.player._width / 2;
}
} else {
_root.player._width = _root.player._width + 20;
_root.player._height = _root.player._width;
_root.player.radius = _root.player._width / 2;
}
removeMovieClip();
}
if ((_x + dx) > (620 + radius)) {
removeMovieClip();
}
if ((_x + dx) < (-20 - radius)) {
removeMovieClip();
}
if ((_y + dy) > (320 + radius)) {
removeMovieClip();
}
if ((_y + dy) < (-20 - radius)) {
removeMovieClip();
}
_x = _x + dx;
_y = _y + dy;
}
}
function collideTest(what) {
var _local5 = _x - what._x;
var _local3 = _y - what._y;
var _local4 = distFormula(_local5, _local3);
var _local2 = (_width / 2) + (what._width / 2);
if (_local4 < _local2) {
return(true);
}
return(false);
}
function distFormula(dist1, dist2) {
var _local1 = Math.sqrt((dist1 * dist1) + (dist2 * dist2));
return(_local1);
}
var maxx = 600;
var maxy = 300;
var dx = 5;
var dy = 5;
var radius = 0;
var larger = true;
}
Symbol 65 MovieClip [__Packages.bullet] Frame 0
class bullet extends MovieClip
{
var _width, _rotation, _x, _y, removeMovieClip;
function bullet () {
super();
mass = (_width / 2) * 4;
radius = _width / 2;
}
function onEnterFrame() {
if (_root.pauses == false) {
if ((dx == 0) && (dy == 0)) {
dx = speed * Math.sin((Math.PI/180) * _rotation);
dy = (-speed) * Math.cos((Math.PI/180) * _rotation);
}
gone();
hitEnemies();
_x = _x + dx;
_y = _y + dy;
}
}
function gone() {
if ((_x + dx) > (maxx + radius)) {
removeMovieClip();
}
if ((_x + dx) < radius) {
removeMovieClip();
}
if ((_y + dy) > (maxy - radius)) {
removeMovieClip();
}
if ((_y + dy) < radius) {
removeMovieClip();
}
}
function collideTest(what) {
var _local5 = _x - what._x;
var _local3 = _y - what._y;
var _local4 = distFormula(_local5, _local3);
var _local2 = (_width / 2) + (what._width / 2);
if (_local4 < _local2) {
return(true);
}
return(false);
}
function hitEnemies() {
var _local4 = 0;
while (_local4 <= 8) {
var _local3 = "e" + _local4;
if (collideTest(_root.enemylayer[_local3])) {
bounce(this, _root.enemylayer[_local3]);
_root.enemylayer[_local3]._x = _root.enemylayer[_local3]._x + _root.enemylayer[_local3].dx;
_root.enemylayer[_local3]._y = _root.enemylayer[_local3]._y + _root.enemylayer[_local3].dy;
_x = _x + dx;
_y = _y + dy;
}
_local4++;
}
}
function bounce(circle1, circle2) {
var _local6 = circle1.radius;
var _local5 = circle2.radius;
var _local15 = distFormula(circle1.dx, circle1.dy);
var _local13 = distFormula(circle2.dx, circle2.dy);
var _local22 = circle1._x - circle2._x;
var _local21 = circle1._y - circle2._y;
var _local12 = Math.atan2(circle1.dy, circle1.dx);
var _local11 = Math.atan2(circle2.dy, circle2.dx);
var _local2 = Math.atan2(_local21, _local22);
var _local18 = Math.cos(_local12 - _local2);
var _local17 = Math.cos(_local11 - _local2);
var _local20 = Math.sin(_local12 - _local2);
var _local19 = Math.sin(_local11 - _local2);
var _local16 = _local15 * _local18;
var _local14 = _local13 * _local17;
var _local8 = _local15 * _local20;
var _local7 = _local13 * _local19;
var _local10 = (((_local6 - _local5) * _local16) + ((_local5 + _local5) * _local14)) / (_local6 + _local5);
var _local9 = (((_local6 + _local6) * _local16) + ((_local5 - _local6) * _local14)) / (_local6 + _local5);
circle1.dx = (Math.cos(_local2) * _local10) + (Math.cos(_local2 + (Math.PI/2)) * _local8);
circle1.dy = (Math.sin(_local2) * _local10) + (Math.sin(_local2 + (Math.PI/2)) * _local8);
circle2.dx = (Math.cos(_local2) * _local9) + (Math.cos(_local2 + (Math.PI/2)) * _local7);
circle2.dy = (Math.sin(_local2) * _local9) + (Math.sin(_local2 + (Math.PI/2)) * _local7);
}
function distFormula(dist1, dist2) {
var _local1 = Math.sqrt((dist1 * dist1) + (dist2 * dist2));
return(_local1);
}
var maxx = 600;
var maxy = 300;
var radius = 0;
var speed = 7.5;
var dx = 0;
var dy = 0;
var mass = 100;
}
Symbol 66 MovieClip [__Packages.orbenemy] Frame 0
class orbenemy extends MovieClip
{
var _width, _x, removeMovieClip, _y;
function orbenemy () {
super();
radius = _width / 2;
}
function onEnterFrame() {
radius = _width / 2;
if (_root.pauses == false) {
if (collideTest(_root.player)) {
bounce(this, _root.player);
}
if ((_x + dx) > (620 + radius)) {
removeMovieClip();
}
if ((_x + dx) < (-20 - radius)) {
removeMovieClip();
}
if ((_y + dy) > (320 + radius)) {
removeMovieClip();
}
if ((_y + dy) < (-20 - radius)) {
removeMovieClip();
}
_x = _x + dx;
_y = _y + dy;
}
}
function collideTest(what) {
var _local5 = _x - what._x;
var _local3 = _y - what._y;
var _local4 = distFormula(_local5, _local3);
var _local2 = (_width / 2) + (what._width / 2);
if (_local4 < _local2) {
return(true);
}
return(false);
}
function bounce(circle1, circle2) {
var _local6 = circle1.radius;
var _local5 = circle2.radius;
var _local15 = distFormula(circle1.dx, circle1.dy);
var _local13 = distFormula(circle2.dx, circle2.dy);
var _local22 = circle1._x - circle2._x;
var _local21 = circle1._y - circle2._y;
var _local12 = Math.atan2(circle1.dy, circle1.dx);
var _local11 = Math.atan2(circle2.dy, circle2.dx);
var _local2 = Math.atan2(_local21, _local22);
var _local18 = Math.cos(_local12 - _local2);
var _local17 = Math.cos(_local11 - _local2);
var _local20 = Math.sin(_local12 - _local2);
var _local19 = Math.sin(_local11 - _local2);
var _local16 = _local15 * _local18;
var _local14 = _local13 * _local17;
var _local8 = _local15 * _local20;
var _local7 = _local13 * _local19;
var _local10 = (((_local6 - _local5) * _local16) + ((_local5 + _local5) * _local14)) / (_local6 + _local5);
var _local9 = (((_local6 + _local6) * _local16) + ((_local5 - _local6) * _local14)) / (_local6 + _local5);
circle1.dx = (Math.cos(_local2) * _local10) + (Math.cos(_local2 + (Math.PI/2)) * _local8);
circle1.dy = (Math.sin(_local2) * _local10) + (Math.sin(_local2 + (Math.PI/2)) * _local8);
circle2.dx = (Math.cos(_local2) * _local9) + (Math.cos(_local2 + (Math.PI/2)) * _local7);
circle2.dy = (Math.sin(_local2) * _local9) + (Math.sin(_local2 + (Math.PI/2)) * _local7);
circle2._x = circle2._x + circle2.dx;
circle2._y = circle2._y + circle2.dy;
circle1._x = circle1._x + circle1.dx;
circle1._y = circle1._y + circle1.dy;
}
function distFormula(dist1, dist2) {
var _local1 = Math.sqrt((dist1 * dist1) + (dist2 * dist2));
return(_local1);
}
var maxx = 600;
var maxy = 300;
var dx = 5;
var dy = 5;
var radius = 0;
}
Symbol 67 MovieClip [__Packages.generator] Frame 0
class generator extends MovieClip
{
function generator () {
super();
}
function onEnterFrame() {
if (_root.pauses == false) {
if (wait == 0) {
if (enemynum < enemymax) {
var _local3 = 0;
while (_local3 <= enemymax) {
var _local4 = "e" + _local3;
if (_root.enemylayer[_local4]._x == undefined) {
enum = _local3;
createEnemy();
break;
}
_local3++;
}
}
} else {
wait++;
wait = wait % 40;
}
if (powerupwait == 0) {
createPowerup();
} else {
powerupwait++;
powerupwait = powerupwait % 300;
}
maxsize = maxsize + 0.045;
maxspeed = maxspeed + 0.005;
minspeed = minspeed + 0.0002;
maxyspeed = maxyspeed + 0.0003;
}
}
function createPowerup() {
var _local3 = "p" + powerupnum;
if (Math.random() < 0.5) {
_root.enemylayer.attachMovie("powerupbig", _local3, powerupnum);
_root.enemylayer[_local3].larger = true;
} else {
_root.enemylayer.attachMovie("powerupsmall", _local3, powerupnum);
_root.enemylayer[_local3].larger = false;
}
if (Math.random() < 0.5) {
_root.enemylayer[_local3]._x = -20;
_root.enemylayer[_local3].dx = Math.floor(minspeed + (Math.random() * 2));
} else {
_root.enemylayer[_local3]._x = 620;
_root.enemylayer[_local3].dx = Math.floor(minspeed + (Math.random() * -2));
}
if (Math.random() < 0.5) {
_root.enemylayer[_local3].dy = Math.floor(minspeed + (Math.random() * 2));
} else {
_root.enemylayer[_local3].dy = Math.floor(minspeed + (Math.random() * -2));
}
_root.enemylayer[_local3]._y = Math.floor(Math.random() * 240) + 30;
_root.enemylayer[_local3].radius = _root.enemylayer[_local3]._width / 2;
powerupnum++;
powerupwait = 1;
powerupwait = powerupwait + Math.floor(Math.random() * 300);
}
function createEnemy() {
var _local3 = "e" + enum;
_root.enemylayer.attachMovie("enemy", _local3, enum);
_root.enemylayer[_local3]._width = Math.floor(minsize + (Math.random() * (maxsize - minsize)));
_root.enemylayer[_local3]._height = _root.enemylayer[_local3]._width;
if (Math.random() < 0.5) {
_root.enemylayer[_local3]._x = -20;
_root.enemylayer[_local3].dx = Math.floor(minspeed + (Math.random() * (maxspeed - minspeed)));
} else {
_root.enemylayer[_local3]._x = 620;
_root.enemylayer[_local3].dx = Math.floor((minspeed + (Math.random() * (maxspeed - minspeed))) * -1);
}
if (Math.random() < 0.5) {
_root.enemylayer[_local3].dy = Math.floor(minspeed + (Math.random() * (maxyspeed - minspeed)));
} else {
_root.enemylayer[_local3].dy = Math.floor(minspeed + (Math.random() * (maxyspeed - minspeed))) * -1;
}
_root.enemylayer[_local3]._y = Math.floor(Math.random() * 240) + 30;
_root.enemylayer[_local3].radius = _root.enemylayer[_local3]._width / 2;
_root.enemynum++;
wait = 1;
wait = wait + Math.floor(Math.random() * 35);
}
var maxsize = 30;
var minsize = 20;
var maxspeed = 5;
var minspeed = 1;
var maxyspeed = 2;
var enemynum = 0;
var enum = 0;
var enemymax = 8;
var wait = 39;
var powerupnum = 10;
var powerupwait = 0;
}
Symbol 68 MovieClip [__Packages.player] Frame 0
class player extends MovieClip
{
var _width, _rotation, _y, _x;
function player () {
super();
radius = _width / 2;
}
function onEnterFrame() {
if (_root.pauses == false) {
if (firerate != 0) {
firerate++;
firerate = firerate % 5;
} else if (firing == true) {
firerate = 1;
fire();
}
_rotation = Math.atan2(_root._ymouse - _y, _root._xmouse - _x) * 57.2957795130823;
_x = _x + dx;
_y = _y + dy;
loseTest();
slow();
}
}
function onMouseDown() {
firing = true;
}
function onMouseUp() {
firing = false;
}
function slow() {
if (dx != 0) {
if (Math.abs(dx) > 0.2) {
dx = dx * slowrate;
} else {
dx = 0;
}
}
if (dy != 0) {
if (Math.abs(dy) > 0.2) {
dy = dy * slowrate;
} else {
dy = 0;
}
}
}
function loseTest() {
if ((_x + dx) > (maxx + radius)) {
_root.gotoAndStop("losescreen");
}
if ((_x + dx) < (-radius)) {
_root.gotoAndStop("losescreen");
}
if ((_y + dy) > (maxy + radius)) {
_root.gotoAndStop("losescreen");
}
if ((_y + dy) < (-radius)) {
_root.gotoAndStop("losescreen");
}
}
function fire() {
createBullet(_rotation);
var _local2 = new Sound();
_local2.attachSound("shot");
_local2.start(0, 1);
dx = dx + (-1 * Math.cos((Math.PI/180) * _rotation));
dy = dy + (-1 * Math.sin((Math.PI/180) * _rotation));
}
function createBullet(rot) {
var _local3 = "b" + bulletnum;
_root.bulletlayer.attachMovie("bullet", _local3, 1 + bulletnum);
_root.bulletlayer[_local3]._x = _x + (radius * Math.cos((Math.PI/180) * _rotation));
_root.bulletlayer[_local3]._y = _y + (radius * Math.sin((Math.PI/180) * _rotation));
_root.bulletlayer[_local3]._rotation = rot + 90;
bulletnum++;
}
var slowrate = 0.9;
var firerate = 0;
var firing = false;
var range = 300;
var bulletnum = 0;
var maxx = 600;
var maxy = 300;
var dx = 0;
var dy = 0;
var radius = 0;
}
Symbol 69 MovieClip [__Packages.cursor] Frame 0
class cursor extends MovieClip
{
var _x, _y;
function cursor () {
super();
}
function onEnterFrame() {
Mouse.hide();
_x = _root._xmouse;
_y = _root._ymouse;
}
}
Symbol 55 MovieClip Frame 39
stop();
playbut.onRelease = function () {
_root.gotoAndStop("game");
};
Symbol 58 MovieClip Frame 180
stop();