Frame 1
var my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
this.menu = my_cm;
MochiAd.showPreloaderAd({id:"ad601f481c66c030", res:"800x600"});
Frame 3
if (_root.getBytesLoaded() < _root.getBytesTotal()) {
gotoAndStop ("loading");
}
Frame 5
stop();
stop();
Instance of Symbol 110 MovieClip in Frame 5
//component parameters
onClipEvent (construct) {
_game_name = "genghis_khan";
score_var = "_root.score";
}
Instance of Symbol 110 MovieClip in Frame 5
//component parameters
onClipEvent (construct) {
_game_name = "stunt_bike_draw_2";
score_var = "_root.score";
}
Frame 7
function initEnterFrame() {
onEnterFrame = function () {
dcOver();
dcPass();
engineSolve();
followMotor();
calcSpeed();
mcLevel.motor.solve();
};
}
function killEnterFrame() {
delete onEnterFrame;
}
function globalInit() {
if (bGlobalInited) {
return(undefined);
}
bGlobalInited = true;
sHard = "MEDIUM";
_quality = "HIGH";
_globalEngineVis = false;
bCustomQuality = false;
bInstructionsShowed = false;
bReplayShowed = false;
maxLevelNum = 20;
levelBaseScore = 500;
levelScoreStep = 50;
lifeScore = 30;
eidtScore = 5;
onceBonusScore = 100;
comboNum = 0;
comboBonusStep = 50;
perfectScore = 200;
comboBonusScore = 0;
loseLifeScore = 0;
loseEditScore = 0;
landType = "normal";
motorStartX = 50;
motorStartY = 410;
motorLength = 70;
wheelRadius = 10;
lowCollisionDepth = 50;
highCollisionDepth = 100;
landX = 0;
landY = 900;
maxLandSpeed = 30;
rollBD = 30;
startBD = 0;
endBD = -2000;
downBD = 0;
upBD = 200;
rollSpeed = 15;
zoomOutScale = 20;
defualtScale = 50;
normalScale = 150;
replayScale = 50;
maxScale = normalScale;
trackColor = 16776960 /* 0xFFFF00 */;
trackThickness = 6;
maxLifeNum = 20;
drawStartY = motorStartY + 140;
drawY1 = (motorStartY + 60) - 100;
drawY2 = landY;
drawX1 = 110;
drawX2 = 850;
drawLen2 = 1200;
lastRampX = 0;
startTrackStartX = 0;
startTrackStartY = motorStartY + 60;
startTrackEndX = 110;
startTrackEndY = (motorStartY + 60) + 80;
autoLinkDis = 60;
aDrawArea = new Array();
bFistNoted = false;
noteTxt = "";
missionText = "";
transPageBD = new flash.display.BitmapData(800, 600, false, 0);
loadSceneMask();
initSoundArray();
loadSD();
initMusic();
initSD();
var _local2 = atMc(this, "mcFrontPage");
}
function initGame() {
sdWin.stop();
nLevel = 1;
speed = 0;
score = 0;
levelScore = 0;
life = maxLifeNum;
bBTEnabled = true;
gameMode = "normal";
aLastTrackPoint = [];
initLife();
}
function gameReset() {
bReplay = false;
bStart = false;
bPause = true;
bPass = false;
bOver = false;
bEnd = false;
bLand = false;
bLandSafely = false;
bThroughFire = false;
bLandGoal = false;
bKeyed = false;
bLandCircleOk = false;
bFail = false;
bDie = false;
bFinished = false;
bALanded = false;
bBLanded = false;
landTimeA = 0;
landTimeB = 0;
dLandTime = 0;
levelScore = 0;
balloonNum = 0;
landX = 0;
resetEngine();
clearPrimitives();
clearConstraints();
setGameQuality(3);
}
function initpoint() {
aCurrTrackMc = [];
aCurrTrackPoint = [];
}
function initLife() {
life = maxLifeNum;
}
function loadSceneMask() {
kill(sceneMasker);
newMasker(800, 600);
}
function clearScene() {
var _local3 = new Array("mcLevel", "mcLayout", "mcMenu", "mcPause", "mcPass", "mcOver", "mcEnd");
for (var _local4 in _local3) {
var _local2 = _root[_local3[_local4]];
kill(_local2);
}
}
function setGameQuality(_nType) {
if (bCustomQuality) {
return(undefined);
}
switch (_nType) {
case 1 :
_quality = "LOW";
break;
case 2 :
_quality = "MEDIUM";
break;
case 3 :
_quality = "HIGH";
break;
case 4 :
_quality = "BEST";
}
}
function activeBt() {
bBTEnabled = true;
}
function pauseBt() {
bBTEnabled = false;
}
function activeGame() {
bPause = false;
}
function pauseGame() {
bPause = true;
}
function loadLevel() {
kill(mcLevel);
kill(mcLayout);
initpoint();
atMc(this, "mcLevel");
atMc(this, "mcLayout");
loadSceneMask();
initLevelScale();
bJumpHighLevel = false;
bFirstPass = true;
speed = 0;
dieLife = 0;
editNum = 0;
dieLife = 0;
setGameQuality(3);
}
function loadTrainingLevel() {
kill(mcLevel);
kill(mcLayout);
initpoint();
atMc(this, "mcLevel");
atMc(this, "mcLayoutTraining", "mcLayout");
loadSceneMask();
initLevelScale();
bJumpHighLevel = false;
speed = 0;
dieLife = 0;
editNum = 0;
setGameQuality(3);
}
function playGame() {
playNoramlGame([mcFrontPage]);
}
function playNoramlGame(_aCurrPage) {
if (!bBTEnabled) {
return(undefined);
}
if (bInstructionsShowed) {
clearEngine();
initGame();
gameReset();
loadLevel();
pauseGame();
var _local1 = _aCurrPage;
createTransPage("ABS", _local1, [mcLevel, mcLayout], null);
} else {
viewInstructions();
}
}
function playTrainingGame() {
if (!bBTEnabled) {
return(undefined);
}
nLevel = 0;
clearEngine();
gameReset();
loadTrainingLevel();
pauseGame();
gameMode = "training";
createTransPage("ABS", [mcFrontPage], [mcLevel, mcLayout], null);
}
function viewInstructions() {
if (!bBTEnabled) {
return(undefined);
}
bInstructionsShowed = true;
atMc(this, "mcInstructions");
createTransPage("ABS", [mcFrontPage], [mcInstructions], null);
}
function startGame() {
if (!bBTEnabled) {
return(undefined);
}
bStart = true;
if (bReplay) {
maxScale = replayScale;
} else {
maxScale = normalScale;
}
increaseLevelScale();
initEnterFrame();
setGameQuality(2);
mcLevel.motor.showMotorMc();
mcLayout.btGo._visible = false;
mcLevel.startDrawNote._visible = false;
mcLevel.startDrawNote2._visible = false;
mcLayout.mcNote.gotoAndStop(1);
mcLayout.mcMissionNote.gotoAndStop(1);
speed = 0;
sdBike.start();
}
function replayGame() {
if (!bOver) {
killEnterFrame();
gameReset();
clearPrimitives();
clearConstraints();
activeGame();
bFirstPass = false;
mcLevel.resetLevel();
}
dieLife = dieLife + 1;
mcLayout.btGo._visible = true;
setGameQuality(3);
}
function playBack() {
if (!bOver) {
killEnterFrame();
gameReset();
clearPrimitives();
clearConstraints();
mcLevel.resetLevel();
activeGame();
bReplay = true;
startGame();
}
mcLayout.btGo._visible = true;
_root.mcLayout.btReplay._visible = false;
setGameQuality(3);
}
function stWin() {
if (bFinished) {
return(undefined);
}
bFinished = true;
if (bFail) {
stDie();
return(undefined);
}
sdBike.stop();
mcLevel.motor.startWin();
setTimeout(setPassTrue, 500);
}
function stDie() {
if (bDie) {
return(undefined);
}
bDie = true;
if (!bReplay) {
lossLife();
}
setTimeout(replayGame, 500);
}
function setPassTrue() {
if (bFail) {
stDie();
return(undefined);
}
bPass = true;
}
function tryAgain() {
if (!bBTEnabled) {
return(undefined);
}
initpoint();
initLife();
initGame();
gameReset();
killEnterFrame();
clearEngine();
loadLevel();
createTransPage("ABS", [mcOver], [mcLevel, mcLayout], null);
}
function continueGame() {
if (!bBTEnabled) {
return(undefined);
}
score = Math.floor(score * 0.7);
initpoint();
initLife();
gameReset();
killEnterFrame();
clearEngine();
loadLevel();
if ((nLevel % 2) == 0) {
_root.life = _root.life - 1;
}
createTransPage("ABS", [mcOver], [mcLevel, mcLayout], null);
}
function skipLevel() {
if (!bBTEnabled) {
return(undefined);
}
initpoint();
gameReset();
killEnterFrame();
clearEngine();
loadLevel();
}
function nextLevel() {
if (!bBTEnabled) {
return(undefined);
}
nLevel = nLevel + 1;
gameMode = "normal";
clearEngine();
killEnterFrame();
gameReset();
loadLevel();
createTransPage("ABS", [mcPass], [mcLevel, mcLayout], null);
}
function backToFrontPage(_aCurrPage) {
if (!bBTEnabled) {
return(undefined);
}
clearEngine();
killEnterFrame();
initGame();
gameReset();
atMc(_root, "mcFrontPage");
var _local2 = _aCurrPage;
createTransPage("ABS", _local2, [mcFrontPage], Mouse.show);
}
function addCredits() {
if (!bBTEnabled) {
return(undefined);
}
killEnterFrame();
initGame();
gameReset();
atMc(_root, "mcCredits");
createTransPage("ABS", [mcFrontPage], [mcCredits], Mouse.show);
}
function addScore(_score) {
if (isNaN(_score)) {
return(undefined);
}
score = score + Math.ceil(_score * scoreRate);
}
function lossLife() {
if (gameMode == "training") {
life = maxLifeNum - 1;
} else {
life = life - 1;
}
if (life <= 0) {
life = 0;
bOver = true;
}
}
function calcTotalScore() {
currLevelScore = levelBaseScore + ((nLevel - 1) * levelScoreStep);
if (bFirstPass) {
comboBonusScore = onceBonusScore;
} else {
comboBonusScore = 0;
}
if (landType == "perfect") {
currLevelScore = currLevelScore + perfectScore;
}
loseLifeScore = dieLife * lifeScore;
loseEditScore = editNum * eidtScore;
score = score + currLevelScore;
score = score + comboBonusScore;
score = score - loseLifeScore;
score = score - loseEditScore;
if (score < 0) {
score = 0;
}
}
function calcSpeed() {
var _local2 = mcLevel.motor.vx;
var _local1 = mcLevel.motor.vy;
var _local4 = 1.5;
var _local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1)) * _local4;
if (_local3 > speed) {
speed = Math.floor(_local3);
}
}
function checkLand(_wheelName) {
mcLevel.motor.checkLand(_wheelName);
}
function checkLandType() {
dLandTime = Math.abs(landTimeB - landTimeA);
trace("dLandTime: " + dLandTime);
if (dLandTime < 20) {
trace("perfect Landing!");
landType = "perfect";
} else {
trace("normal Landing!");
landType = "normal";
}
}
function dcOver() {
if (bPass) {
return(undefined);
}
if (bOver) {
atMc(this, "mcOver");
createTransPage("ABS", [mcLayout, mcLevel], [mcOver], Mouse.show);
killEnterFrame();
loadSceneMask();
setGameQuality(3);
Mouse.show();
trace(":::::::\u6E38\u620F\u7ED3\u675F::::::::");
}
}
function dcPass() {
if (!bStart) {
return(undefined);
}
if (bOver) {
return(undefined);
}
if (bPass) {
if (nLevel == maxLevelNum) {
atMc(this, "mcEnd");
createTransPage("ABS", [mcLayout, mcLevel], [mcEnd], Mouse.show);
_root.sdWin.start();
} else {
atMc(this, "mcPass");
}
checkLandType();
calcTotalScore();
killEnterFrame();
loadSceneMask();
setGameQuality(3);
trace(":::::::\u4EFB\u52A1\u5B8C\u6210::::::::");
}
}
function dcPause() {
return(undefined);
}
function initSoundArray() {
aSDType = new Array("aMusic", "aSound");
aMusic = new Array("mainMusic");
aSound = new Array("sdBike", "sdBoom", "sdFall", "sdWin");
aMuscVol = new Array();
aMuscVol.push(20);
aSoundVol = new Array(60, 30, 30, 50);
bMusicOn = true;
bSoundOn = true;
musicHolder = newMc(_root, "musicHolder");
sdHolder = newMc(_root, "sdHolder");
}
function loadSD() {
for (var _local8 in aSDType) {
var _local3 = _root[aSDType[_local8]];
var _local7 = _local3.length;
var _local2 = 0;
while (_local2 < _local7) {
var _local4 = _local3[_local2];
var _local5 = _local4 + "mc";
var _local6 = newMc(_root, _local5);
_root[_local3[_local2]] = new Sound(_local6);
_root[_local3[_local2]].attachSound(_local4);
if (_local3 == aMusic) {
_root[_local3[_local2]].setVolume(aMuscVol[_local2]);
} else if (_local3 == aSound) {
_root[_local3[_local2]].setVolume(aSoundVol[_local2]);
}
_local2++;
}
}
mainMusic.start(0, 999);
}
function initMusic() {
var _local4 = aMusic.length;
var _local2 = 0;
while (_local2 < _local4) {
if (bMusicOn) {
var _local3 = aMuscVol[_local2];
} else {
var _local3 = 0;
}
_root[aMusic[_local2]].setVolume(_local3);
_local2++;
}
}
function initSD() {
var _local4 = aSound.length;
var _local2 = 0;
while (_local2 < _local4) {
if (bSoundOn) {
var _local3 = aSoundVol[_local2];
} else {
var _local3 = 0;
}
_root[aSound[_local2]].setVolume(_local3);
_local2++;
}
}
function alrm(_sort, _id) {
var _local1 = new Array();
_local1.push("You can not draw in this area!");
_local1.push("You must roll the scereen to right to draw ramp!");
_local1.push("You need to pop all balloons! Try again!");
_local1.push("You need to jump through the ring! Try again!");
switch (_sort) {
case "draw" :
noteTxt = _local1[_id];
var _local2 = mcLayout.mcNote;
trace("\u5F39\u51FA\u753B\u7EBF\u8B66\u544A!");
break;
case "prop" :
noteTxt = _local1[_id];
_local2 = mcLayout.mcPropNote;
trace("\u5F39\u51FA\u9053\u5177\u8B66\u544A!");
}
_local2.gotoAndPlay(2);
}
function showScreenNote() {
if (bFirstPass) {
if (nLevel > 1) {
mcLevel.mcScreenNote.gotoAndStop(2);
}
} else {
mcLevel.mcScreenNote.gotoAndStop(Math.floor((Math.random() * 6) + 3));
}
}
function showMissionNote() {
switch (nLevel) {
case 0 :
missionText = "Have Fun!";
break;
case 1 :
missionText = "Let's get started with a simple jump. Jump over the two buses!";
break;
case 2 :
missionText = "This now gets tricky. Pop all the balloons and land safely.";
break;
case 3 :
missionText = "Get ready for a longer jump - try to jump over the 2 monster trucks and 2 cacti.";
break;
case 4 :
missionText = "Jump over the vehicles and try to land safely on the landing platform - no landing ramp is required.";
break;
case 5 :
missionText = "Get ready for some tricky jumping. Jump through the ring and land safely on the other side. Make sure you don't hit the vehicles or cactus.";
break;
case 6 :
missionText = "Don't panic! You must pop the balloon to retract the spikes from the landing area. Long jump, you may not need a landing ramp, but draw one anyway.";
break;
case 7 :
missionText = "It's double jump time! First jump over the cacti (land safely) and then create a second ramp to jump over the bus and land safely. You must complete both jumps safely to pass this level!";
break;
case 8 :
missionText = "Try to jump to the landing platform! No landing ramp required. Just make sure you make a nice level landing on the platform!";
break;
case 9 :
missionText = "Double jump time again. Try to jump on the conveyer belt to the right and then launch yourself a second time to the landing platform (draw a second ramp from the conveyer belt).";
break;
case 10 :
missionText = "You must pop the balloons to retract the spikes from the landing platform. No need to draw a landing ramp!";
break;
case 11 :
missionText = "It's explosives time. You must make the jump without hitting the bombs.";
break;
case 12 :
missionText = "It's long jump time! See if you can jump the huge distance across the vehicles and cacti! Good luck Mr Stunt Man!";
break;
case 13 :
missionText = "This is simple, jump over everything and land safely on the landing platform. No need for a landing ramp muhahahaha!";
break;
case 14 :
missionText = "Try to jump through the rings and land safely on the other side. Watch out that you don't squash the poor cacti!";
break;
case 15 :
missionText = "Draw a ramp to the conveyer belt. Then draw a second ramp to get over the building. Finally draw a landing ramp to the right of the building!";
break;
case 16 :
missionText = "It's freakshow time! Jump through the floating ring, zoom through the loop, and then land safely on the right hand side of the monster truck. EASY!";
break;
case 17 :
missionText = "Get on that conveyer belt and then jump to the landing platform safely! ";
break;
case 18 :
missionText = "Rev that engine - you have a long jump to make, not to mention you have to get through the ring to complete this level.";
break;
case 19 :
missionText = "Draw a ramp to the conveyer belt and then a second jumping ramp so that you clear the tall building - don't forget about drawing a landing ramp on the other side!";
break;
case 20 :
missionText = "If you can make this next jump then you're a true stunt bike legend. May the force be with you!";
}
mcLayout.mcMissionNote.gotoAndPlay(2);
pauseGame();
}
function createTransPage(_sType, _aCurrPage, _aNextPage, _endFun) {
var _local2 = atMc2(_root, "mcTransPage");
_local2.setType(_sType);
_local2.setEndFun(_endFun);
_local2.setCurrPage(_aCurrPage);
_local2.setNextPage(_aNextPage);
_local2.initOrder();
_local2.stSetMask();
}
function rollScreen(_dir) {
if (bStart) {
return(undefined);
}
if (_dir == "left") {
if (mcLevel._x >= startBD) {
mcLevel._x = startBD;
} else {
mcLevel._x = mcLevel._x + rollSpeed;
}
} else if (_dir == "right") {
if (mcLevel._x <= endBD) {
mcLevel._x = endBD;
} else {
mcLevel._x = mcLevel._x - rollSpeed;
}
} else if (_dir == "up") {
if (mcLevel._y >= upBD) {
mcLevel._y = upBD;
} else {
mcLevel._y = mcLevel._y + rollSpeed;
}
} else if (_dir == "down") {
if (mcLevel._y <= downBD) {
mcLevel._y = downBD;
} else {
mcLevel._y = mcLevel._y - rollSpeed;
}
}
if (!bStart) {
mcLevel.mcBgBuilding._x = (((-mcLevel._x) / defualtScale) * 100) * 0.7;
mcLevel.mcBgBuilding._y = (((-mcLevel._y) / defualtScale) * 100) * 0.6;
mcLevel.mcLand._x = ((-mcLevel._x) / defualtScale) * 100;
}
}
function followMotor() {
if (!bStart) {
return(undefined);
}
var _local3 = mcLevel.motor.mcMotorBody._x;
var _local2 = mcLevel.motor.mcMotorBody._y;
var _local1 = (((-maxScale) * _local3) / 100) + 300;
var _local4 = (((-maxScale) * _local2) / 100) + 400;
mcLevel._x = _local1;
if (!bReplay) {
mcLevel._y = _local4;
}
mcLevel.mcBgBuilding._x = (((-_local1) / maxScale) * 100) * 0.6;
mcLevel.mcLand._x = ((-_local1) / maxScale) * 100;
}
function initLevelScale() {
mcLevel._xscale = defualtScale;
mcLevel._yscale = defualtScale;
mcLevel.mcBgBuilding._x = 0;
mcLevel.mcBgBuilding._y = 0;
mcLevel.mcLand._x = 0;
}
function increaseLevelScale() {
mcLevel._xscale = maxScale;
mcLevel._yscale = maxScale;
mcLevel.mcBgBuilding._x = 0;
mcLevel.mcBgBuilding._y = 0;
mcLevel.mcLand._x = 0;
}
function zoomOutLevel() {
mcLevel._xscale = zoomOutScale;
mcLevel._yscale = zoomOutScale;
}
function mouseSolve() {
mcLayout.mcMouseType._x = _xmouse;
mcLayout.mcMouseType._y = _ymouse;
if (!bStart) {
if (bPause) {
mcLayout.mcMouseType._visible = false;
Mouse.show();
} else if (mcLevel.mcDraw.checkDrawArea()) {
mcLayout.mcMouseType._visible = true;
if (mcLevel.mcDraw.tool == null) {
Mouse.show();
} else {
Mouse.hide();
}
} else {
mcLayout.mcMouseType._visible = false;
Mouse.show();
}
} else {
mcLayout.mcMouseType._visible = false;
Mouse.show();
}
}
function resetEngine() {
engine.setDamping(1.025);
engine.setGravity(0, 1.5);
engine.setSurfaceBounce(0.1);
engine.setSurfaceFriction(0.006);
}
function createRectangleTile(x1, y1, x2, y2) {
var _local1 = new org.cove.flade.surfaces.RectangleTile(x1, y1, x2, y2);
engine.addSurface(_local1);
_local1.onContact = function () {
};
}
function createSpike(x1, y1, x2, y2) {
var _local1 = new org.cove.flade.surfaces.RectangleTile(x1, y1, x2, y2);
engine.addSurface(_local1);
_local1.onContact = function () {
bLand = true;
if (!bKeyed) {
bFail = true;
}
};
}
function createLineSurface(x1, y1, x2, y2) {
var _local1 = new org.cove.flade.surfaces.LineSurface(x1, y1, x2, y2);
engine.addSurface(_local1);
_local1.setCollisionDepth(lowCollisionDepth);
return(_local1);
}
function createLand() {
landSurface = new org.cove.flade.surfaces.LineSurface(-90000, landY, 90000, landY);
engine.addSurface(landSurface);
landSurface.onContact = function () {
bLand = true;
bLandGoal = false;
setLandFriction();
engine.setDamping(1.025);
var _local3 = mcLevel.motor.vx;
var _local2 = mcLevel.motor.vy;
if (_local2 > maxLandSpeed) {
_root.bFail = true;
}
if (mcLevel.motor.mcWheelA._x > mcLevel.motor.mcWheelB._x) {
_root.bFail = true;
}
};
}
function setLandFriction() {
engine.setSurfaceFriction(0.1);
}
function setBackFriction() {
engine.setSurfaceFriction(0.1);
}
function resetFriction() {
engine.setSurfaceFriction(0.008);
}
function clearEngine() {
for (var _local1 in engine.primitives) {
kill(engine.primitives[_local1].dmc);
}
for (var _local1 in engine.surfaces) {
kill(engine.surfaces[_local1].dmc);
}
engine.primitives = new Array();
engine.surfaces = new Array();
engine.constraints = new Array();
}
function clearPrimitives() {
for (var _local1 in engine.primitives) {
kill(engine.primitives[_local1].dmc);
}
engine.primitives = new Array();
}
function clearConstraints() {
engine.constraints = new Array();
}
function clearSurfaces() {
engine.surfaces = new Array();
}
function clearSurfacesUnit(_surface) {
killArrayElem(engine.surfaces, _surface);
kill(_surface.dmc);
}
function setDefualtG() {
engine.setGravity(0, 1.5);
}
function setHighG() {
engine.setGravity(0, 2);
}
function setLowG() {
engine.setGravity(0, 1);
}
function setDefualtDamp() {
engine.setDamping(1.025);
}
function setLowDamp() {
engine.setDamping(1.008);
}
function engineSolve() {
engine.timeStep();
}
function addCurrTrackMc(_mc) {
aCurrTrackMc.push(_mc);
}
function addCurrTrackPoint(_a) {
if (_a.length > 0) {
aCurrTrackPoint.push(_a);
}
}
function splitTrackArray(_point) {
var _local8 = _point;
var _local10 = 0;
var _local2 = 0;
var _local9 = aCurrTrackPoint.length;
var _local7 = 0;
while (_local7 < _local9) {
var _local1 = aCurrTrackPoint[_local7];
_local10 = _local7;
var _local3 = _local1.length;
j = 0;
while (j < _local3) {
var _local5 = _local1[j];
if (Math.floor(_local5.x) == Math.floor(_local8.x)) {
if (Math.floor(_local5.y) == Math.floor(_local8.y)) {
_local2 = j;
if (_local2 == 0) {
_local1.shift();
mcLevel.mcDraw.drawMask();
return(undefined);
}
if (_local2 == (_local3 - 2)) {
_local1.pop();
mcLevel.mcDraw.drawMask();
return(undefined);
}
var _local6 = _local1.slice();
var _local4 = _local1.slice();
_local6.splice(_local2 + 1, (_local3 - _local2) - 1);
_local4.splice(0, _local2 + 1);
aCurrTrackPoint.push(_local6);
aCurrTrackPoint.push(_local4);
killArrayElem(aCurrTrackPoint, _local1);
mcLevel.mcDraw.drawMask();
return(undefined);
}
}
j++;
}
_local7++;
}
}
function clearTrack() {
if (!bBTEnabled) {
return(undefined);
}
for (var _local1 in aCurrTrackMc) {
aCurrTrackMc[_local1].killSelf();
}
clearTrackPoint();
mcLevel.initStartTracePoint();
mcLevel.mcDraw.drawMask();
mcLevel.updateMapTrack();
}
function clearTrackPoint() {
aCurrTrackPoint = [];
}
function saveGame() {
}
function loadGame() {
}
new global.GlobalFun();
stop();
globalInit();
initGame();
gameReset();
var myLis = new Object();
bKeyDown = false;
myLis.onKeyDown = function () {
if (bKeyDown) {
return(undefined);
}
if (Key.isDown(80)) {
dcPause();
bKeyDown = true;
}
if (Key.isDown(37)) {
rollScreen("left");
}
if (Key.isDown(39)) {
rollScreen("right");
}
if (Key.isDown(38)) {
rollScreen("up");
}
if (Key.isDown(40)) {
rollScreen("down");
}
};
myLis.onKeyUp = function () {
bKeyDown = false;
};
Key.addListener(myLis);
engine = new org.cove.flade.DynamicsEngine();
Symbol 7 MovieClip [mcFlake] Frame 1
stop();
this.gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 10 MovieClip [mcSmoke] Frame 10
this.removeMovieClip();
Symbol 22 MovieClip Frame 10
stop();
Symbol 40 MovieClip [mcMap] Frame 1
#initclip 29
Object.registerClass("mcMap", as.Map);
#endinitclip
Symbol 42 MovieClip Frame 1
this._visible = false;
Symbol 48 MovieClip Frame 1
onEnterFrame = function () {
var _local4 = _root.getBytesLoaded();
var _local3 = _root.getBytesTotal();
var _local5 = int((_local4 / _local3) * 100);
num_txt.text = _local5 + "%";
if (_local4 == _local3) {
delete this.onEnterFrame;
if ((_root._mochiad instanceof MovieClip) != true) {
_root.play();
}
}
};
Symbol 52 MovieClip Frame 1
this._visible = false;
Symbol 52 MovieClip Frame 2
this._visible = true;
Symbol 52 MovieClip Frame 39
stop();
Instance of Symbol 45 MovieClip in Symbol 52 MovieClip Frame 39
on (release) {
getURL ("http://www.freeworldgroup.com/", "_blank");
}
Symbol 1153 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 1154 MovieClip [__Packages.as.Map] Frame 0
class as.Map extends MovieClip
{
var LEVEL, mcTrack, newMc, scaleRate, kill, mcProp, atMc2, mcMapLand, mcRole;
function Map () {
super();
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
mcTrack = newMc(this, "mcTrack");
scaleRate = 0.05;
}
function updateScene() {
kill(mcProp);
mcProp = newMc(this, "mcProp");
var _local2 = LEVEL.aProp;
for (var _local4 in _local2) {
var _local3 = _local2[_local4].sType;
var _local7 = _local2[_local4].centX * scaleRate;
var _local6 = _local2[_local4].centY * scaleRate;
switch (_local3) {
case "popo" :
var _local5 = atMc2(mcProp, "mcMapPopo");
_local5._x = _local7;
_local5._y = _local6;
break;
case "bigWheel" :
_local5 = atMc2(mcProp, "mcMapBigWheel");
_local5._x = _local7;
_local5._y = _local6;
break;
case "cacti" :
_local5 = atMc2(mcProp, "mcMapCacti");
_local5._x = _local7;
_local5._y = _local6;
break;
case "bus" :
_local5 = atMc2(mcProp, "mcMapBus");
_local5._x = _local7;
_local5._y = _local6;
break;
case "milk" :
_local5 = atMc2(mcProp, "mcMapMilk");
_local5._x = _local7;
_local5._y = _local6;
break;
case "building" :
_local5 = atMc2(mcProp, "mcMapBuilding");
_local5._x = _local7;
_local5._y = _local6;
break;
case "spike" :
_local5 = atMc2(mcProp, "mcMapSpike");
_local5._x = _local7;
_local5._y = _local6;
break;
case "balloon" :
_local5 = atMc2(mcProp, "mcMapBalloon");
_local5._x = _local7;
_local5._y = _local6;
break;
case "bomb" :
_local5 = atMc2(mcProp, "mcMapBomb");
_local5._x = _local7;
_local5._y = _local6;
break;
case "fire" :
trace("\u6211\u662F\u706B\uFF01\uFF01\uFF01\uFF01\uFF01\uFF01\uFF01\uFF01\uFF01\uFF01");
_local5 = atMc2(mcProp, "mcMapFire");
_local5._x = _local7;
_local5._y = _local6;
break;
case "landGoal" :
_local5 = atMc2(mcProp, "mcMapLandGoal");
_local5._x = _local7;
_local5._y = _local6;
break;
case "normalPlat" :
_local5 = atMc2(mcProp, "mcMapNormalPlat");
_local5._x = _local7;
_local5._y = _local6;
break;
case "fastPlat" :
_local5 = atMc2(mcProp, "mcMapFastPlat");
_local5._x = _local7;
_local5._y = _local6;
break;
case "slowPlat" :
_local5 = atMc2(mcProp, "mcMapSlowPlat");
_local5._x = _local7;
_local5._y = _local6;
break;
case "word" :
_local5 = atMc2(mcProp, "mcMapWord");
_local5._x = _local7;
_local5._y = _local6;
}
}
if (LEVEL.circleTrack) {
var _local7 = LEVEL.circleTrack.centX * scaleRate;
var _local6 = LEVEL.circleTrack.centY * scaleRate;
var _local5 = atMc2(mcProp, "mcMapCircleTrack");
_local5._x = _local7;
_local5._y = _local6;
}
}
function updateTrack() {
mcMapLand._y = _root.landY * scaleRate;
var _local8 = mcTrack;
_local8.clear();
_local8.lineStyle(1, 16776960, 100);
for (var _local11 in _root.aCurrTrackPoint) {
var _local4 = _root.aCurrTrackPoint[_local11];
var _local10 = _local4[0].x * scaleRate;
var _local9 = _local4[0].y * scaleRate;
_local8.moveTo(_local10, _local9);
var _local3 = 0;
var _local7 = _local4.length;
while (_local3 < _local7) {
var _local6 = _local4[_local3].x * scaleRate;
var _local5 = _local4[_local3].y * scaleRate;
_local8.lineTo(_local6, _local5);
_local3++;
}
}
}
function solve() {
var _local2 = LEVEL.motor;
var _local4 = _local2.centX * scaleRate;
var _local3 = _local2.centY * scaleRate;
mcRole._x = _local4;
mcRole._y = _local3;
}
function initRole() {
var _local4 = _root.motorStartX * scaleRate;
var _local3 = _root.motorStartY * scaleRate;
mcRole._x = _local4;
mcRole._y = _local3;
}
}
Symbol 1155 MovieClip [__Packages.as.Motor] Frame 0
class as.Motor
{
var LEVEL, bDie, bWin, bCheckDie, bTurnBack, bReturnBack, sType, leftX, rightX, widthX, midX, topY, wheelA, wheelB, ang, angDefault, mcWheelA, atMc, mcWheelB, mcMotorBody, mcBody, dieVx, vx, dieVy, dieMotorVx, dieMotorVy, centX, vy, centY, motorAng, getAng, kill;
function Motor () {
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
bDie = false;
bWin = false;
bCheckDie = false;
bTurnBack = false;
bReturnBack = false;
sType = "motor";
var _local4 = _root.engine;
leftX = _root.motorStartX;
rightX = _root.motorStartX + _root.motorLength;
widthX = _root.motorLength;
midX = leftX + (widthX / 2);
topY = _root.motorStartY;
var _local6 = _root.wheelRadius;
wheelA = new org.cove.flade.primitives.Wheel(leftX, topY, _local6);
_local4.addPrimitive(wheelA);
wheelB = new org.cove.flade.primitives.Wheel(rightX, topY, _local6);
_local4.addPrimitive(wheelB);
wheelA.wheelName = "wheelA";
wheelB.wheelName = "wheelB";
var _local9 = new org.cove.flade.constraints.SpringConstraint(wheelA, wheelB);
_local4.addConstraint(_local9);
var _local5 = new org.cove.flade.primitives.CircleParticle(midX, topY - 15, 2, 2);
_local4.addPrimitive(_local5);
var _local8 = new org.cove.flade.constraints.SpringConstraint(wheelA, _local5);
_local4.addConstraint(_local8);
var _local7 = new org.cove.flade.constraints.SpringConstraint(wheelB, _local5);
_local4.addConstraint(_local7);
ang = new org.cove.flade.constraints.AngularConstraint(wheelA, _local5, wheelB);
_local4.addConstraint(ang);
angDefault = ang.targetTheta;
createMotorMc();
hideMotorMc();
}
function createMotorMc() {
mcWheelA = atMc(LEVEL, "wheel", "mcWheelA");
mcWheelB = atMc(LEVEL, "wheel", "mcWheelB");
mcMotorBody = atMc(LEVEL, "motorBody", "mcMotorBody");
mcBody = mcMotorBody.mcBody;
}
function reset() {
wheelA.curr.x = leftX;
wheelA.curr.y = topY;
wheelB.curr.x = rightX;
wheelB.curr.y = topY;
wheelA.prev.x = leftX;
wheelA.prev.y = topY;
wheelB.prev.x = rightX;
wheelB.prev.y = topY;
}
function solve() {
keepLink();
checkDie();
if (!_root.bFail) {
keepBalance();
} else {
if (!bDie) {
bDie = true;
dieVx = Math.abs(vx);
dieVy = -15;
dieMotorVx = Math.abs(vx) * 0.8;
dieMotorVy = -12;
_root.clearConstraints();
_root.engine.setSurfaceBounce(0.5);
mcMotorBody.gotoAndStop("die");
mcMotorBody._rotation = 0;
var _local3 = atMc(LEVEL, "mcMotorDie");
_local3._x = mcMotorBody._x;
_local3._y = mcMotorBody._y;
_root.sdBike.stop();
_root.sdFall.start();
}
if (mcMotorBody._y < _root.landY) {
mcMotorBody._x = mcMotorBody._x + dieVx;
mcMotorBody._y = mcMotorBody._y + dieVy;
dieVy = dieVy + 3;
} else if (Math.abs(dieVx) > 1) {
dieVy = (-Math.abs(dieVy)) * 0.1;
mcMotorBody._x = mcMotorBody._x + dieVx;
mcMotorBody._y = mcMotorBody._y + dieVy;
dieVx = dieVx * 0.8;
} else {
mcWheelA.stop();
mcWheelB.stop();
_root.stDie();
}
if (LEVEL.mcMotorDie._y < _root.landY) {
LEVEL.mcMotorDie._x = LEVEL.mcMotorDie._x + dieMotorVx;
LEVEL.mcMotorDie._y = LEVEL.mcMotorDie._y + dieMotorVy;
dieMotorVy = dieMotorVy + 3;
} else {
LEVEL.mcMotorDie._y = _root.landY;
if (Math.abs(dieMotorVx) > 1) {
dieMotorVy = (-Math.abs(dieMotorVy)) * 0.1;
LEVEL.mcMotorDie._x = LEVEL.mcMotorDie._x + dieMotorVx;
LEVEL.mcMotorDie._y = LEVEL.mcMotorDie._y + dieMotorVy;
dieMotorVx = dieMotorVx * 0.5;
}
}
}
}
function hideMotorMc() {
mcWheelA._visible = false;
mcWheelB._visible = false;
mcMotorBody._visible = false;
}
function showMotorMc() {
mcWheelA._visible = true;
mcWheelB._visible = true;
mcMotorBody._visible = true;
}
function keepLink() {
var _local6 = wheelA.curr.x;
var _local4 = wheelA.curr.y;
var _local5 = wheelB.curr.x;
var _local3 = wheelB.curr.y;
var _local8 = (_local6 + _local5) / 2;
var _local7 = (_local4 + _local3) / 2;
vx = _local8 - centX;
vy = _local7 - centY;
centX = _local8;
centY = _local7;
mcWheelA._x = _local6;
mcWheelA._y = _local4;
mcWheelB._x = _local5;
mcWheelB._y = _local3;
if (!_root.bFail) {
mcMotorBody._x = centX;
mcMotorBody._y = centY;
motorAng = getAng(_local6, _local4, _local5, _local3);
mcMotorBody._rotation = motorAng;
}
}
function keepBalance() {
if (!_root.bJumpHighLevel) {
wheelA.prev.y = wheelA.prev.y - 0.215;
} else {
wheelA.prev.y = wheelA.prev.y - 0.1;
}
}
function checkDie() {
if (vx > 3) {
bCheckDie = true;
}
if (bCheckDie) {
if (!_root.bLand) {
if (vx < 0) {
if (bReturnBack) {
if (vx > -1) {
if (Math.floor(Math.abs(vy)) < 0.5) {
_root.stDie();
trace("\u6C34\u5E73\u901F\u5EA6\u592A\u5C0F\uFF0C\u6302\u4E86\uFF01");
}
}
if (wheelA.curr.x < wheelB.curr.x) {
_root.setBackFriction();
}
}
bTurnBack = true;
} else if (bTurnBack) {
bReturnBack = true;
}
}
if (_root.bLand) {
if (!_root.bFail) {
if (Math.floor(Math.abs(vx)) < 2) {
if (wheelA.curr.x < wheelB.curr.x) {
_root.bLandSafely = true;
} else {
_root.bFail = true;
}
}
}
}
if (mcMotorBody._x < -50) {
_root.stDie();
}
if (mcMotorBody._y > (_root.landY + 300)) {
_root.stDie();
}
}
}
function startWin() {
if (bWin) {
return(undefined);
}
bWin = true;
mcBody.gotoAndStop("win");
}
function checkLand(_wheelName) {
if (centX > _root.lastRampX) {
if (_wheelName == "wheelA") {
if (!_root.bALanded) {
_root.bALanded = true;
_root.landTimeA = getTimer();
trace((_wheelName + " \u65F6\u95F4: ") + _root.landTimeA);
}
} else if (_wheelName == "wheelB") {
if (!_root.bBLanded) {
_root.bBLanded = true;
_root.landTimeB = getTimer();
trace((_wheelName + " \u65F6\u95F4: ") + _root.landTimeB);
}
}
}
}
function killSelf() {
kill(mcWheelA);
kill(mcWheelB);
kill(mcMotorBody);
this=null;//parameter overwritten
}
}
Symbol 1156 MovieClip [__Packages.org.cove.flade.primitives.Particle] Frame 0
class org.cove.flade.primitives.Particle
{
var init, curr, prev, temp, extents, bmin, bmax, mtd, isVisible, dmc;
function Particle (posX, posY) {
init = new org.cove.flade.util.Vector(posX, posY);
curr = new org.cove.flade.util.Vector(posX, posY);
prev = new org.cove.flade.util.Vector(posX, posY);
temp = new org.cove.flade.util.Vector(0, 0);
extents = new org.cove.flade.util.Vector(0, 0);
bmin = 0;
bmax = 0;
mtd = new org.cove.flade.util.Vector(0, 0);
initializeContainer();
isVisible = true;
}
function initializeContainer() {
var _local3 = _root.mcLevel.getNextHighestDepth();
var _local4 = "_particle" + _local3;
dmc = _root.mcLevel.createEmptyMovieClip(_local4, _local3);
dmc._visible = _root._globalEngineVis;
}
function setVisible(v) {
isVisible = v;
}
function verlet(sysObj) {
temp.x = curr.x;
temp.y = curr.y;
curr.x = curr.x + ((sysObj.coeffDamp * (curr.x - prev.x)) + sysObj.gravity.x);
curr.y = curr.y + ((sysObj.coeffDamp * (curr.y - prev.y)) + sysObj.gravity.y);
prev.x = temp.x;
prev.y = temp.y;
}
function pin() {
curr.x = init.x;
curr.y = init.y;
prev.x = init.x;
prev.y = init.y;
}
function setPos(px, py) {
curr.x = px;
curr.y = py;
prev.x = px;
prev.y = py;
}
function getCardXProjection() {
bmin = curr.x - extents.x;
bmax = curr.x + extents.x;
}
function getCardYProjection() {
bmin = curr.y - extents.y;
bmax = curr.y + extents.y;
}
function getAxisProjection(axis) {
var _local5 = new org.cove.flade.util.Vector(Math.abs(axis.x), Math.abs(axis.y));
var _local2 = curr.dot(axis);
var _local3 = extents.dot(_local5);
bmin = _local2 - _local3;
bmax = _local2 + _local3;
}
function setMTD(depthX, depthY, depthN, surfNormal) {
var _local4 = Math.abs(depthX);
var _local3 = Math.abs(depthY);
var _local2 = Math.abs(depthN);
if ((_local4 < _local3) && (_local4 < _local2)) {
mtd.setTo(depthX, 0);
} else if ((_local3 < _local4) && (_local3 < _local2)) {
mtd.setTo(0, depthY);
} else if ((_local2 < _local4) && (_local2 < _local3)) {
mtd = surfNormal.multNew(depthN);
}
}
function setXYMTD(depthX, depthY) {
var _local3 = Math.abs(depthX);
var _local2 = Math.abs(depthY);
if (_local3 < _local2) {
mtd.setTo(depthX, 0);
} else {
mtd.setTo(0, depthY);
}
}
function resolveCollision(normal, sysObj) {
var _local2 = curr.minusNew(prev);
var _local3 = normal.dot(_local2);
var _local8 = _local2.minusNew(normal.multNew(_local3));
var _local4 = _local8.multNew(sysObj.coeffFric);
var _local5 = normal.multNew(_local3 * sysObj.coeffRest);
var _local6 = _local5.plusNew(_local4);
var _local7 = _local2.minusNew(_local6);
curr.plus(mtd);
prev = curr.minusNew(_local7);
}
function paint() {
}
function checkCollision(surface, sysObj) {
}
}
Symbol 1157 MovieClip [__Packages.org.cove.flade.util.Vector] Frame 0
class org.cove.flade.util.Vector
{
var x, y;
function Vector (px, py) {
x = px;
y = py;
}
function setTo(px, py) {
x = px;
y = py;
}
function get length() {
return(Math.sqrt((x * x) + (y * y)));
}
function copy(v) {
x = v.x;
y = v.y;
}
function dot(v) {
return((x * v.x) + (y * v.y));
}
function cross(v) {
return((x * v.y) - (y * v.x));
}
function plus(v) {
x = x + v.x;
y = y + v.y;
return(this);
}
function plusNew(v) {
return(new org.cove.flade.util.Vector(x + v.x, y + v.y));
}
function minus(v) {
x = x - v.x;
y = y - v.y;
return(this);
}
function minusNew(v) {
return(new org.cove.flade.util.Vector(x - v.x, y - v.y));
}
function mult(s) {
x = x * s;
y = y * s;
return(this);
}
function multNew(s) {
return(new org.cove.flade.util.Vector(x * s, y * s));
}
function distance(v) {
var _local3 = x - v.x;
var _local2 = y - v.y;
return(Math.sqrt((_local3 * _local3) + (_local2 * _local2)));
}
function normalize() {
var _local2 = Math.sqrt((x * x) + (y * y));
x = x / _local2;
y = y / _local2;
return(this);
}
function magnitude() {
return(Math.sqrt((x * x) + (y * y)));
}
function project(b) {
var _local5 = dot(b);
var _local4 = (b.x * b.x) + (b.y * b.y);
var _local3 = new org.cove.flade.util.Vector(0, 0);
_local3.x = (_local5 / _local4) * b.x;
_local3.y = (_local5 / _local4) * b.y;
return(_local3);
}
}
Symbol 1158 MovieClip [__Packages.org.cove.flade.DynamicsEngine] Frame 0
class org.cove.flade.DynamicsEngine
{
var primitives, surfaces, constraints, gravity, coeffFric, coeffDamp, coeffRest;
function DynamicsEngine () {
primitives = new Array();
surfaces = new Array();
constraints = new Array();
gravity = new org.cove.flade.util.Vector(0, 1);
coeffFric = 0.01;
coeffDamp = 0.99;
}
function addPrimitive(p) {
primitives.push(p);
}
function addSurface(s) {
surfaces.push(s);
}
function addConstraint(c) {
constraints.push(c);
}
function paintSurfaces() {
var _local2 = 0;
while (_local2 < surfaces.length) {
surfaces[_local2].paint();
_local2++;
}
}
function paintPrimitives() {
var _local2 = 0;
while (_local2 < primitives.length) {
primitives[_local2].paint();
_local2++;
}
}
function paintConstraints() {
var _local2 = 0;
while (_local2 < constraints.length) {
constraints[_local2].paint();
_local2++;
}
}
function timeStep() {
verlet();
satisfyConstraints();
checkCollisions();
}
function setSurfaceBounce(kfr) {
coeffRest = 1 + kfr;
}
function setSurfaceFriction(f) {
coeffFric = f;
}
function setDamping(d) {
coeffDamp = d;
}
function setGravity(gx, gy) {
gravity.x = gx;
gravity.y = gy;
}
function verlet() {
var _local2 = 0;
while (_local2 < primitives.length) {
primitives[_local2].verlet(this);
_local2++;
}
}
function satisfyConstraints() {
var _local2 = 0;
while (_local2 < constraints.length) {
constraints[_local2].resolve();
_local2++;
}
}
function checkCollisions() {
var _local4 = 0;
while (_local4 < surfaces.length) {
var _local3 = surfaces[_local4];
if (_local3.getActiveState()) {
var _local2 = 0;
while (_local2 < primitives.length) {
primitives[_local2].checkCollision(_local3, this);
_local2++;
}
}
_local4++;
}
}
}
Symbol 1159 MovieClip [__Packages.org.cove.flade.surfaces.Surface] Frame 0
interface org.cove.flade.surfaces.Surface
{
}
Symbol 1160 MovieClip [__Packages.org.cove.flade.primitives.RectangleParticle] Frame 0
class org.cove.flade.primitives.RectangleParticle extends org.cove.flade.primitives.Particle
{
var width, height, vertex, extents, isVisible, dmc, curr;
function RectangleParticle (px, py, w, h) {
super(px, py);
width = w;
height = h;
vertex = new org.cove.flade.util.Vector(0, 0);
extents = new org.cove.flade.util.Vector(w / 2, h / 2);
}
function paint() {
if (isVisible) {
dmc.clear();
dmc.lineStyle(0, 6710886, 100);
org.cove.flade.graphics.Graphics.paintRectangle(dmc, curr.x, curr.y, width, height);
}
}
function checkCollision(surface, sysObj) {
surface.resolveRectangleCollision(this, sysObj);
}
}
Symbol 1161 MovieClip [__Packages.org.cove.flade.graphics.Graphics] Frame 0
class org.cove.flade.graphics.Graphics
{
function Graphics () {
}
static function paintLine(dmc, x0, y0, x1, y1) {
dmc.moveTo(x0, y0);
dmc.lineTo(x1, y1);
}
static function paintCircle(dmc, x, y, r) {
var mtp8r = (0.414213562373095 * r);
var msp4r = (0.707106781186547 * r);
with (dmc) {
moveTo(x + r, y);
curveTo(r + x, mtp8r + y, msp4r + x, msp4r + y);
curveTo(mtp8r + x, r + y, x, r + y);
curveTo((-mtp8r) + x, r + y, (-msp4r) + x, msp4r + y);
curveTo((-r) + x, mtp8r + y, (-r) + x, y);
curveTo((-r) + x, (-mtp8r) + y, (-msp4r) + x, (-msp4r) + y);
curveTo((-mtp8r) + x, (-r) + y, x, (-r) + y);
curveTo(mtp8r + x, (-r) + y, msp4r + x, (-msp4r) + y);
curveTo(r + x, (-mtp8r) + y, r + x, y);
}
}
static function paintRectangle(dmc, x, y, w, h) {
var w2 = (w / 2);
var h2 = (h / 2);
with (dmc) {
moveTo(x - w2, y - h2);
lineTo(x + w2, y - h2);
lineTo(x + w2, y + h2);
lineTo(x - w2, y + h2);
lineTo(x - w2, y - h2);
}
}
}
Symbol 1162 MovieClip [__Packages.org.cove.flade.constraints.Constraint] Frame 0
interface org.cove.flade.constraints.Constraint
{
}
Symbol 1163 MovieClip [__Packages.org.cove.flade.primitives.CircleParticle] Frame 0
class org.cove.flade.primitives.CircleParticle extends org.cove.flade.primitives.Particle
{
var radius, contactRadius, extents, closestPoint, dmc, curr;
function CircleParticle (px, py, r) {
super(px, py);
radius = r;
contactRadius = r;
extents = new org.cove.flade.util.Vector(r, r);
closestPoint = new org.cove.flade.util.Vector(0, 0);
}
function paint() {
dmc.clear();
dmc.lineStyle(0, 6710886, 100);
org.cove.flade.graphics.Graphics.paintCircle(dmc, curr.x, curr.y, radius);
}
function checkCollision(surface, sysObj) {
surface.resolveCircleCollision(this, sysObj);
}
}
Symbol 1164 MovieClip [__Packages.org.cove.flade.primitives.Wheel] Frame 0
class org.cove.flade.primitives.Wheel extends org.cove.flade.primitives.CircleParticle
{
var rp, coeffSlip, isVisible, curr, dmc, radius, prev;
function Wheel (x, y, r) {
super(x, y, r);
rp = new org.cove.flade.primitives.RimParticle(r, 2);
coeffSlip = 0;
}
function verlet(sysObj) {
rp.verlet(sysObj);
super.verlet(sysObj);
}
function resolveCollision(normal, sysObj) {
super.resolveCollision(normal, sysObj);
resolve(normal);
}
function paint() {
if (isVisible) {
var _local3 = curr.x;
var _local2 = curr.y;
var _local5 = rp.curr.x;
var _local4 = rp.curr.y;
dmc.clear();
dmc.lineStyle(0, 2237064, 100);
org.cove.flade.graphics.Graphics.paintCircle(dmc, _local3, _local2, radius);
dmc.lineStyle(0, 10066329, 100);
org.cove.flade.graphics.Graphics.paintLine(dmc, _local5 + _local3, _local4 + _local2, _local3, _local2);
org.cove.flade.graphics.Graphics.paintLine(dmc, (-_local5) + _local3, (-_local4) + _local2, _local3, _local2);
org.cove.flade.graphics.Graphics.paintLine(dmc, (-_local4) + _local3, _local5 + _local2, _local3, _local2);
org.cove.flade.graphics.Graphics.paintLine(dmc, _local4 + _local3, (-_local5) + _local2, _local3, _local2);
}
}
function setTraction(t) {
coeffSlip = t;
}
function resolve(n) {
var _local3 = -rp.curr.y;
var _local2 = rp.curr.x;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
var _local13 = _local3 * rp.speed;
var _local11 = _local2 * rp.speed;
var _local12 = curr.x - prev.x;
var _local10 = curr.y - prev.y;
var _local9 = _local12 + _local13;
var _local8 = _local10 + _local11;
var _local6 = ((-n.y) * _local9) + (n.x * _local8);
rp.prev.x = rp.curr.x - (_local6 * _local3);
rp.prev.y = rp.curr.y - (_local6 * _local2);
var _local7 = 1 - coeffSlip;
curr.x = curr.x + ((_local7 * rp.speed) * (-n.y));
curr.y = curr.y + ((_local7 * rp.speed) * n.x);
rp.speed = rp.speed * coeffSlip;
}
}
Symbol 1165 MovieClip [__Packages.org.cove.flade.primitives.RimParticle] Frame 0
class org.cove.flade.primitives.RimParticle
{
var curr, prev, vs, speed, maxTorque, wr;
function RimParticle (r, mt) {
curr = new org.cove.flade.util.Vector(r, 0);
prev = new org.cove.flade.util.Vector(0, 0);
vs = 0;
speed = 0;
maxTorque = mt;
wr = r;
}
function verlet(sysObj) {
speed = Math.max(-maxTorque, Math.min(maxTorque, speed + vs));
var _local3 = -curr.y;
var _local2 = curr.x;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
curr.x = curr.x + (speed * _local3);
curr.y = curr.y + (speed * _local2);
var _local10 = prev.x;
var _local9 = prev.y;
var _local8 = (prev.x = curr.x);
var _local7 = (prev.y = curr.y);
curr.x = curr.x + (sysObj.coeffDamp * (_local8 - _local10));
curr.y = curr.y + (sysObj.coeffDamp * (_local7 - _local9));
var _local6 = Math.sqrt((curr.x * curr.x) + (curr.y * curr.y));
var _local5 = (_local6 - wr) / _local6;
curr.x = curr.x - (curr.x * _local5);
curr.y = curr.y - (curr.y * _local5);
}
}
Symbol 1166 MovieClip [__Packages.org.cove.flade.constraints.AngularConstraint] Frame 0
class org.cove.flade.constraints.AngularConstraint implements org.cove.flade.constraints.Constraint
{
var pA, pB, pC, lineA, lineB, pD, lineC, targetTheta, stiffness;
function AngularConstraint (p1, p2, p3) {
pA = p1.curr;
pB = p2.curr;
pC = p3.curr;
lineA = new org.cove.flade.util.Line(pA, pB);
lineB = new org.cove.flade.util.Line(pB, pC);
pD = new org.cove.flade.util.Vector(pB.x + 0, pB.y - 1);
lineC = new org.cove.flade.util.Line(pB, pD);
targetTheta = calcTheta(pA, pB, pC);
stiffness = 1;
}
function resolve() {
var _local5 = getCentroid();
lineC.p2.x = lineC.p1.x + 0;
lineC.p2.y = lineC.p1.y - 1;
var _local9 = pA.distance(pB);
var _local8 = pB.distance(pC);
var _local12 = calcTheta(pA, pB, pC);
var _local13 = calcTheta(pA, pB, pD);
var _local11 = calcTheta(pC, pB, pD);
var _local6 = (targetTheta - _local12) / 2;
var _local10 = _local13 + (_local6 * stiffness);
var _local4 = _local11 - (_local6 * stiffness);
pA.x = (_local9 * Math.sin(_local10)) + pB.x;
pA.y = (_local9 * Math.cos(_local10)) + pB.y;
pC.x = (_local8 * Math.sin(_local4)) + pB.x;
pC.y = (_local8 * Math.cos(_local4)) + pB.y;
var _local7 = getCentroid();
var _local3 = _local7.x - _local5.x;
var _local2 = _local7.y - _local5.y;
pA.x = pA.x - _local3;
pA.y = pA.y - _local2;
pB.x = pB.x - _local3;
pB.y = pB.y - _local2;
pC.x = pC.x - _local3;
pC.y = pC.y - _local2;
}
function paint() {
}
function setStiffness(s) {
stiffness = s;
}
function calcTheta(pa, pb, pc) {
var _local2 = new org.cove.flade.util.Vector(pb.x - pa.x, pb.y - pa.y);
var _local3 = new org.cove.flade.util.Vector(pc.x - pb.x, pc.y - pb.y);
var _local4 = _local2.dot(_local3);
var _local5 = _local2.cross(_local3);
return(Math.atan2(_local5, _local4));
}
function getCentroid() {
var _local3 = ((pA.x + pB.x) + pC.x) / 3;
var _local2 = ((pA.y + pB.y) + pC.y) / 3;
return(new org.cove.flade.util.Vector(_local3, _local2));
}
}
Symbol 1167 MovieClip [__Packages.org.cove.flade.util.Line] Frame 0
class org.cove.flade.util.Line
{
var p1, p2;
function Line (p1, p2) {
this.p1 = p1;
this.p2 = p2;
}
}
Symbol 1168 MovieClip [__Packages.org.cove.flade.constraints.SpringConstraint] Frame 0
class org.cove.flade.constraints.SpringConstraint implements org.cove.flade.constraints.Constraint
{
var p1, p2, restLength, stiffness, color, isVisible, dmc;
function SpringConstraint (p1, p2) {
this.p1 = p1;
this.p2 = p2;
restLength = p1.curr.distance(p2.curr);
stiffness = 0.6;
color = 10053171 /* 0x996633 */;
initializeContainer();
isVisible = true;
}
function initializeContainer() {
var _local3 = _root.mcLevel.getNextHighestDepth();
var _local4 = "_constraint" + _local3;
dmc = _root.mcLevel.createEmptyMovieClip(_local4, _local3);
}
function resolve() {
var _local5 = p1.curr.minusNew(p2.curr);
var _local3 = p1.curr.distance(p2.curr);
var _local4 = (_local3 - restLength) / _local3;
var _local2 = _local5.mult(_local4 * stiffness);
p1.curr.minus(_local2);
p2.curr.plus(_local2);
}
function setRestLength(r) {
restLength = r;
}
function setStiffness(s) {
stiffness = s;
}
function setVisible(v) {
isVisible = v;
}
function paint() {
if (isVisible) {
dmc.clear();
dmc.lineStyle(0, color, 100);
org.cove.flade.graphics.Graphics.paintLine(dmc, p1.curr.x, p1.curr.y, p2.curr.x, p2.curr.y);
}
}
}
Symbol 1169 MovieClip [__Packages.as.CircleTrack] Frame 0
class as.CircleTrack
{
var LEVEL, sType, aInitCoord, aTrack1, aTrack2, aTrack3, aTrack4, aTrack5, aTrack6, scaleRate, centX, centY, aCoordC1, aCoordC2, aCoordC3, aCoordC4, aCoordC5, aCoordC6;
function CircleTrack (_aInitCoord, _scaleRate) {
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
sType = "circleTrack";
aInitCoord = _aInitCoord;
aTrack1 = new Array();
aTrack2 = new Array();
aTrack3 = new Array();
aTrack4 = new Array();
aTrack5 = new Array();
aTrack6 = new Array();
if (_scaleRate) {
scaleRate = _scaleRate;
} else {
scaleRate = 1;
}
createCircleTrack(aInitCoord);
centX = aInitCoord[0];
centY = aInitCoord[1];
}
function createCircleTrack(_aInitCoord) {
trace("\u521B\u5EFA\u73AF\u5F62\u8F68\u9053");
aCoordC1 = new Array();
aCoordC1.push({x:35, y:490.45});
aCoordC1.push({x:135, y:481.95});
aCoordC1.push({x:230.5, y:471.45});
aCoordC1.push({x:316, y:452.95});
aCoordC1.push({x:399.95, y:438});
aCoordC2 = new Array();
aCoordC2.push({x:399.95, y:438});
aCoordC2.push({x:476.95, y:411.95});
aCoordC2.push({x:521.95, y:382.95});
aCoordC2.push({x:557.95, y:344.95});
aCoordC2.push({x:578.4, y:301.95});
aCoordC2.push({x:588.95, y:250});
aCoordC3 = new Array();
aCoordC3.push({x:588.95, y:250});
aCoordC3.push({x:584.9, y:193.5});
aCoordC3.push({x:562.95, y:141.5});
aCoordC3.push({x:526.45, y:96.5});
aCoordC3.push({x:469.45, y:61});
aCoordC3.push({x:399.95, y:47});
aCoordC4 = new Array();
aCoordC4.push({x:399.95, y:47});
aCoordC4.push({x:330.5, y:61});
aCoordC4.push({x:277, y:92.5});
aCoordC4.push({x:239, y:134});
aCoordC4.push({x:216.2, y:186});
aCoordC4.push({x:209, y:250});
aCoordC5 = new Array();
aCoordC5.push({x:209, y:250});
aCoordC5.push({x:220.2, y:301.45});
aCoordC5.push({x:242.5, y:347.95});
aCoordC5.push({x:277.5, y:385.45});
aCoordC5.push({x:326, y:413.95});
aCoordC5.push({x:399.95, y:438});
aCoordC6 = new Array();
aCoordC6.push({x:399.95, y:438});
aCoordC6.push({x:495.95, y:453.95});
aCoordC6.push({x:607.95, y:460.95});
aCoordC6.push({x:709.45, y:440.45});
aCoordC6.push({x:809.45, y:370.45});
aCoordC6.push({x:909.45, y:270.45});
var _local7 = 1;
while (_local7 <= 6) {
var _local3 = this["aCoordC" + _local7];
var _local5 = _local3.length;
var _local6 = 0;
while (_local6 < _local5) {
_local3[_local6].x = _local3[_local6].x + _aInitCoord[0];
_local3[_local6].y = _local3[_local6].y + _aInitCoord[1];
_local6++;
}
this["track" + _local7] = new as.Track([0, 0], this["aCoordC" + _local7]);
this["track" + _local7].setScaleRate(scaleRate);
this["track" + _local7].createConutineTrack();
this["aTrack" + _local7] = this["track" + _local7].getTrack();
_local7++;
}
initStateSwitch();
for (_local7 in aTrack1) {
aTrack1[_local7].setCollisionDepth(_root.highCollisionDepth);
}
for (var _local6 in aTrack2) {
aTrack2[_local6].setCollisionDepth(_root.highCollisionDepth);
}
}
function setCircleTrackPoint() {
_root.aCurrTrackPoint.push(aCoordC1, aCoordC6);
}
function initTrackState() {
setActive(aTrack1, true);
setActive(aTrack2, true);
setActive(aTrack3, true);
setActive(aTrack4, false);
setActive(aTrack5, false);
}
function initStateSwitch() {
var _local5 = aTrack1.length;
var _local4 = 0;
while (_local4 < (_local5 - 1)) {
aTrack1[_local4].onContact = function () {
var _local2 = _root.mcLevel.circleTrack;
_local2.setActive(_local2.aTrack4, false);
_local2.setActive(_local2.aTrack5, false);
_root.bLandCircleOk = true;
};
_local4++;
}
_local5 = aTrack3.length;
_local4 = 0;
while (_local4 < (_local5 - 1)) {
aTrack3[_local4].onContact = function () {
var _local2 = _root.mcLevel.circleTrack;
_local2.setActive(_local2.aTrack4, true);
_local2.setActive(_local2.aTrack5, true);
};
_local4++;
}
_local5 = aTrack4.length;
_local4 = 0;
while (_local4 < (_local5 - 1)) {
aTrack4[_local4].onContact = function () {
if (_root.bLandCircleOk) {
var _local2 = _root.mcLevel.circleTrack;
_local2.setActive(_local2.aTrack2, false);
_local2.setActive(_local2.aTrack3, false);
_local2.setActive(_local2.aTrack5, true);
}
};
_local4++;
}
_local5 = aTrack5.length;
_local4 = 0;
while (_local4 < (_local5 - 1)) {
aTrack5[_local4].onContact = function () {
var _local2 = _root.mcLevel.circleTrack;
_local2.setActive(_local2.aTrack2, false);
_local2.setActive(_local2.aTrack3, false);
};
_local4++;
}
}
function setActive(_aTrack, _b) {
for (var _local3 in _aTrack) {
_aTrack[_local3].setActiveState(_b);
}
}
function killSelf() {
this=null;//parameter overwritten
}
}
Symbol 1170 MovieClip [__Packages.as.Track] Frame 0
class as.Track
{
var LEVEL, aInitCoord, aTrackCoord, aTrack, scaleRate;
function Track (_aInitCoord, _aTrackCoord) {
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
aInitCoord = _aInitCoord;
aTrackCoord = _aTrackCoord;
aTrack = new Array();
scaleRate = 1;
}
function setCoord(_aInitCoord, _aTrackCoord) {
aInitCoord = _aInitCoord;
aTrackCoord = _aTrackCoord;
}
function setScaleRate(_scaleRate) {
scaleRate = _scaleRate;
}
function getTrack() {
return(aTrack);
}
function createConutineTrack() {
var _local9 = LEVEL.mcDraw;
_local9.lineStyle(_root.trackThickness, _root.trackColor, 100);
var _local12 = (aTrackCoord[0].x + aInitCoord[0]) * scaleRate;
var _local11 = (aTrackCoord[0].y + aInitCoord[1]) * scaleRate;
_local9.moveTo(_local12, _local11);
var _local3 = 0;
var _local10 = aTrackCoord.length;
while (_local3 < (_local10 - 1)) {
var _local8 = (aTrackCoord[_local3].x + aInitCoord[0]) * scaleRate;
var _local7 = (aTrackCoord[_local3].y + aInitCoord[1]) * scaleRate;
var _local6 = (aTrackCoord[_local3 + 1].x + aInitCoord[0]) * scaleRate;
var _local5 = (aTrackCoord[_local3 + 1].y + aInitCoord[1]) * scaleRate;
var _local4 = creatTrack(_local8, _local7, _local6, _local5);
trace("lineSurface: " + _local4);
aTrack.push(_local4);
_local9.lineTo(_local6, _local5);
_local3++;
}
}
function creatTrack(x1, y1, x2, y2) {
var _local2 = _root.createLineSurface(x1, y1, x2, y2);
return(_local2);
}
}
Symbol 1171 MovieClip [__Packages.as.Prop] Frame 0
class as.Prop
{
var LEVEL, sType, sMcName, aCoord, centX, centY, mc, atMc2, kill;
function Prop (_sType, _aCoord) {
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
sType = _sType;
sMcName = sType;
aCoord = _aCoord;
centX = aCoord[0];
centY = aCoord[1] + _root.landY;
checkType();
}
function setType(_sType) {
sType = _sType;
}
function setCoord(_aCoord) {
aCoord = _aCoord;
}
function createPropMc(_ox, _oy) {
mc = atMc2(LEVEL, sMcName);
mc._x = _ox;
mc._y = _oy;
}
function checkType() {
var _local8 = aCoord[0];
var _local7 = aCoord[1];
switch (sType) {
case "popo" :
var _local6 = 80;
var _local5 = 188;
var _local4 = 0;
var _local3 = _root.landY - (_local5 / 2);
break;
case "bigWheel" :
_local6 = 250;
_local5 = 150;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
break;
case "cacti" :
_local6 = 100;
_local5 = 230;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
break;
case "bus" :
_local6 = 270;
_local5 = 150;
_local4 = _local6 / 2;
_local3 = _root.landY - (_local5 / 2);
break;
case "milk" :
_local6 = 500;
_local5 = 640;
_local4 = _local6 / 2;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcMilk";
break;
case "building" :
_local6 = 200;
_local5 = 900;
_local4 = _local6 / 2;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcBuilding";
break;
case "spike" :
_local6 = 800;
_local5 = 100;
_local4 = _local6 / 2;
_local3 = _root.landY - (_local5 / 2);
break;
case "balloon" :
_local4 = 0;
_local3 = _root.landY;
sMcName = sType + Math.ceil(Math.random() * 3);
break;
case "bomb" :
_local4 = 0;
_local3 = _root.landY;
break;
case "fire" :
_local4 = 0;
_local3 = _root.landY;
break;
case "landGoal" :
_local6 = 500;
_local5 = 100;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcLandGoal";
break;
case "normalPlat" :
_local6 = 400;
_local5 = 150;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcNormalPlat";
break;
case "fastPlat" :
_local6 = 400;
_local5 = 150;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcFastPlat";
break;
case "slowPlat" :
_local6 = 700;
_local5 = 150;
_local4 = 0;
_local3 = _root.landY - (_local5 / 2);
sMcName = "mcSlowPlat";
}
_local4 = _local4 + _local8;
_local3 = _local3 + _local7;
createPropMc(_local4, _local3);
switch (sType) {
case "balloon" :
initBallEnterFrame();
break;
case "fire" :
initFireEnterFrame();
break;
case "bomb" :
initBombEnterFrame();
break;
case "landGoal" :
createLandGoal(_local4, _local3, _local6, _local5);
break;
case "normalPlat" :
createNormalPlat(_local4, _local3, _local6, _local5);
break;
case "slowPlat" :
createSlowPlat(_local4, _local3, _local6, _local5);
break;
case "fastPlat" :
createFastPlat(_local4, _local3, _local6, _local5);
break;
case "spike" :
createSpike(_local4, _local3, _local6, _local5);
initSpikeEnterFrame();
break;
default :
createTile(_local4, _local3, _local6, _local5);
}
}
function createTile(_x1, _y1, _x2, _y2) {
var _local3 = new org.cove.flade.surfaces.RectangleTile(_x1, _y1, _x2, _y2);
_root.engine.addSurface(_local3);
_local3.mc = mc;
_local3.onContact = function () {
if (_root.bFail) {
return(undefined);
}
this.mc.gotoAndStop("die");
_root.bLand = true;
_root.bFail = true;
trace(this.mc + "\u6211\u88AB\u649E\u5230\uFF0C\u6211\u6302\u4E86\uFF01");
};
}
function createSpike(_x1, _y1, _x2, _y2) {
_root.createSpike(_x1, _y1, _x2, _y2);
}
function createLandGoal(_x1, _y1, _x2, _y2) {
var _local2 = new org.cove.flade.surfaces.RectangleTile(_x1, _y1, _x2, _y2);
_root.engine.addSurface(_local2);
_local2.onContact = function () {
_root.bLandGoal = true;
_root.bLand = true;
_root.engine.setSurfaceFriction(0.4);
};
}
function createNormalPlat(_x1, _y1, _x2, _y2) {
var _local2 = new org.cove.flade.surfaces.RectangleTile(_x1, _y1, _x2, _y2);
_root.engine.addSurface(_local2);
_local2.onContact = function () {
};
}
function createFastPlat(_x1, _y1, _x2, _y2) {
var _local2 = new org.cove.flade.surfaces.RectangleTile(_x1, _y1, _x2, _y2);
_root.engine.addSurface(_local2);
_local2.onContact = function () {
_root.engine.setDamping(1.028);
_root.bLand = true;
};
}
function createSlowPlat(_x1, _y1, _x2, _y2) {
var _local2 = new org.cove.flade.surfaces.RectangleTile(_x1, _y1, _x2, _y2);
_root.engine.addSurface(_local2);
_local2.onContact = function () {
_root.engine.setSurfaceFriction(0.3);
_root.bLand = true;
};
}
function initBallEnterFrame() {
mc.onEnterFrame = function () {
var _local3 = this.hitA.hitTest(_root.mcLevel.motor.mcMotorBody.bodyHitA);
if (_local3) {
_root.balloonNum = _root.balloonNum + 1;
this.gotoAndStop("explode");
}
};
}
function initBombEnterFrame() {
mc.onEnterFrame = function () {
var _local3 = this.hitTest(_root.mcLevel.motor.mcMotorBody.bodyHitA);
if (_local3) {
_root.bFail = true;
this.gotoAndStop("explode");
}
};
}
function initFireEnterFrame() {
mc.onEnterFrame = function () {
var _local3 = this.upHitA.hitTest(_root.mcLevel.motor.mcMotorBody.bodyHitA);
var _local4 = this.downHitA.hitTest(_root.mcLevel.motor.mcMotorBody.bodyHitA);
var _local5 = this.centHitA.hitTest(_root.mcLevel.motor.mcMotorBody.bodyHitA);
if (_local3) {
_root.bFail = true;
}
if (_local4) {
_root.bFail = true;
}
if (_local5) {
_root.bThroughFire = true;
}
};
}
function initSpikeEnterFrame() {
mc.onEnterFrame = function () {
if (_root.bKeyed) {
this.gotoAndStop("close");
}
};
}
function killSelf() {
trace("\u6211\u662F\u9053\u5177\uFF0C\u6211\u81EA\u6740\u4E86\uFF01");
kill(mc);
this=null;//parameter overwritten
}
function reset() {
mc.gotoAndStop("normal");
}
}
Symbol 1172 MovieClip [__Packages.org.cove.flade.surfaces.AbstractTile] Frame 0
class org.cove.flade.surfaces.AbstractTile
{
var center, verts, normal, isVisible, isActivated, dmc, minX, maxX, minY, maxY;
function AbstractTile (cx, cy) {
center = new org.cove.flade.util.Vector(cx, cy);
verts = new Array();
normal = new org.cove.flade.util.Vector(0, 0);
isVisible = true;
isActivated = true;
initializeContainer();
}
function initializeContainer() {
var _local3 = _root.mcLevel.getNextHighestDepth();
var _local4 = "_surface" + _local3;
dmc = _root.mcLevel.createEmptyMovieClip(_local4, _local3);
dmc._visible = _root._globalEngineVis;
}
function setVisible(v) {
isVisible = v;
}
function setActiveState(a) {
isActivated = a;
}
function getActiveState() {
return(isActivated);
}
function createBoundingRect(rw, rh) {
var _local2 = center.y - (rh / 2);
var _local3 = center.y + (rh / 2);
var _local5 = center.x - (rw / 2);
var _local4 = center.x + (rw / 2);
verts.push(new org.cove.flade.util.Vector(_local4, _local3));
verts.push(new org.cove.flade.util.Vector(_local4, _local2));
verts.push(new org.cove.flade.util.Vector(_local5, _local2));
verts.push(new org.cove.flade.util.Vector(_local5, _local3));
setCardProjections();
}
function testIntervals(boxMin, boxMax, tileMin, tileMax) {
if (boxMax < tileMin) {
return(0);
}
if (tileMax < boxMin) {
return(0);
}
var _local2 = tileMax - boxMin;
var _local1 = tileMin - boxMax;
if (Math.abs(_local2) < Math.abs(_local1)) {
return(_local2);
}
return(_local1);
}
function setCardProjections() {
getCardXProjection();
getCardYProjection();
}
function getCardXProjection() {
minX = verts[0].x;
var _local2 = 1;
while (_local2 < verts.length) {
if (verts[_local2].x < minX) {
minX = verts[_local2].x;
}
_local2++;
}
maxX = verts[0].x;
_local2 = 1;
while (_local2 < verts.length) {
if (verts[_local2].x > maxX) {
maxX = verts[_local2].x;
}
_local2++;
}
}
function getCardYProjection() {
minY = verts[0].y;
var _local2 = 1;
while (_local2 < verts.length) {
if (verts[_local2].y < minY) {
minY = verts[_local2].y;
}
_local2++;
}
maxY = verts[0].y;
_local2 = 1;
while (_local2 < verts.length) {
if (verts[_local2].y > maxY) {
maxY = verts[_local2].y;
}
_local2++;
}
}
function onContact() {
}
}
Symbol 1173 MovieClip [__Packages.org.cove.flade.surfaces.RectangleTile] Frame 0
class org.cove.flade.surfaces.RectangleTile extends org.cove.flade.surfaces.AbstractTile implements org.cove.flade.surfaces.Surface
{
var rectWidth, rectHeight, createBoundingRect, isVisible, dmc, center, onContact, normal, testIntervals, minX, maxX, minY, maxY;
function RectangleTile (cx, cy, rw, rh) {
super(cx, cy);
rectWidth = rw;
rectHeight = rh;
createBoundingRect(rw, rh);
}
function paint() {
if (isVisible) {
dmc.clear();
dmc.lineStyle(0, 2237064, 100);
org.cove.flade.graphics.Graphics.paintRectangle(dmc, center.x, center.y, rectWidth, rectHeight);
}
}
function resolveCircleCollision(p, sysObj) {
if (isCircleColliding(p)) {
onContact();
p.resolveCollision(normal, sysObj);
}
}
function resolveRectangleCollision(p, sysObj) {
if (isRectangleColliding(p)) {
onContact();
p.resolveCollision(normal, sysObj);
}
}
function isCircleColliding(p) {
p.getCardXProjection();
var _local6 = testIntervals(p.bmin, p.bmax, minX, maxX);
if (_local6 == 0) {
return(false);
}
p.getCardYProjection();
var _local5 = testIntervals(p.bmin, p.bmax, minY, maxY);
if (_local5 == 0) {
return(false);
}
var _local11 = Math.abs(_local6) < p.radius;
var _local12 = Math.abs(_local5) < p.radius;
if (_local11 && (_local12)) {
var _local10 = center.x + (sign(p.curr.x - center.x) * (rectWidth / 2));
var _local9 = center.y + (sign(p.curr.y - center.y) * (rectHeight / 2));
var _local4 = p.curr.x - _local10;
var _local3 = p.curr.y - _local9;
var _local8 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local7 = p.radius - _local8;
if (_local7 > 0) {
_local4 = _local4 / _local8;
_local3 = _local3 / _local8;
p.mtd.setTo(_local4 * _local7, _local3 * _local7);
normal.setTo(_local4, _local3);
return(true);
}
return(false);
}
p.setXYMTD(_local6, _local5);
normal.setTo(p.mtd.x / Math.abs(_local6), p.mtd.y / Math.abs(_local5));
return(true);
}
function isRectangleColliding(p) {
p.getCardXProjection();
var _local4 = testIntervals(p.bmin, p.bmax, minX, maxX);
if (_local4 == 0) {
return(false);
}
p.getCardYProjection();
var _local3 = testIntervals(p.bmin, p.bmax, minY, maxY);
if (_local3 == 0) {
return(false);
}
p.setXYMTD(_local4, _local3);
normal.setTo(p.mtd.x / Math.abs(_local4), p.mtd.y / Math.abs(_local3));
return(true);
}
function sign(val) {
if (val < 0) {
return(-1);
}
if (val > 0) {
return(1);
}
}
}
Symbol 1174 MovieClip [__Packages.as.TrackUnit] Frame 0
class as.TrackUnit extends MovieClip
{
var LEVEL, surface, _y, _x, kill;
function TrackUnit () {
super();
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
}
function setSurface(_surface) {
surface = _surface;
}
function getSurface() {
return(surface);
}
function killSelf() {
_root.mcLayout.btReplay._visible = false;
_root.clearSurfacesUnit(surface);
_root.splitTrackArray({x:_x, y:_y});
_root.editNum = _root.editNum + 1;
kill(this);
}
}
Symbol 1175 MovieClip [__Packages.as.Word] Frame 0
class as.Word extends MovieClip
{
var LEVEL, sType, sMcType, centX, centY, _x, _y, onEnterFrame, gotoAndStop, _rotation, bDie;
function Word () {
super();
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
sType = "word";
}
function setType(_sType) {
sMcType = _sType;
checkType();
}
function setCoord(_centX, _centY) {
centX = _centX;
centY = _centY;
_x = centX;
_y = centY;
}
function checkType() {
switch (sMcType) {
case "F" :
initRocketEnterFrame();
break;
case "P" :
initRocketEnterFrame();
break;
case "R" :
initRocketEnterFrame();
break;
case "W" :
initRocketEnterFrame();
break;
case "E" :
initBreakEnterFrame();
break;
case "L" :
initBreakEnterFrame();
break;
case "G" :
initRollEnterFrame();
break;
case "D" :
initRollEnterFrame();
break;
case "O" :
initRollEnterFrame();
break;
case "U" :
initRollEnterFrame();
}
}
function initRocketEnterFrame() {
onEnterFrame = function () {
var _local3 = this.hitTest(_root.mcLevel.motor.mcMotorBody);
if (_local3) {
if (!this.bDie) {
this.bDie = true;
trace("\u6211\u53D1\u5C04\u4E86\uFF01");
_root.bFail = true;
this.gotoAndStop("die");
this.vx = (Math.random() - Math.random()) * 20;
this.vy = ((-Math.random()) * 10) - 30;
this.rov = (this.vx / Math.abs(this.vx)) * 30;
}
}
if (this.bDie) {
this._x = this._x + this.vx;
this._y = this._y + this.vy;
this._rotation = this._rotation + this.rov;
}
};
}
function initBreakEnterFrame() {
onEnterFrame = function () {
var _local3 = this.hitTest(_root.mcLevel.motor.mcMotorBody);
if (_local3) {
if (!this.bDie) {
this.bDie = true;
trace("\u6211\u788E\u4E86\uFF01");
_root.bFail = true;
this.gotoAndStop("die");
}
}
};
}
function initRollEnterFrame() {
onEnterFrame = function () {
var _local3 = this.hitTest(_root.mcLevel.motor.mcMotorBody);
if (_local3) {
if (!this.bDie) {
this.bDie = true;
trace("\u6211\u662F\u6EDA\u4E86\uFF01");
_root.bFail = true;
this.gotoAndStop("die");
this.vx = (Math.random() * 10) + 30;
this.vy = ((-Math.random()) * 10) - 40;
this.rov = (this.vx / Math.abs(this.vx)) * 30;
this.g = 5;
}
}
if (this.bDie) {
this.vy = this.vy + this.g;
this.vx = this.vx * 0.97;
this.rov = this.rov * 0.97;
this._x = this._x + this.vx;
this._y = this._y + this.vy;
trace("vx: " + this.vx);
this._rotation = this._rotation + this.rov;
if (this._y > this.centY) {
this._y = this.centY;
this.vy = -Math.abs(this.vy);
this.vy = this.vy * 0.95;
}
}
};
}
function reset() {
gotoAndStop("normal");
_x = centX;
_y = centY;
_rotation = 0;
bDie = false;
}
}
Symbol 1176 MovieClip [__Packages.global.TransPage] Frame 0
class global.TransPage extends MovieClip
{
var sType, bDisEnd, aCurrPage, aNextPage, endSolveFun, mcTempStage, newMc2, kill;
function TransPage () {
super();
_global.initGlobalFun(this);
sType = "ABS";
bDisEnd = false;
_root.pauseBt();
}
function setType(_sType) {
sType = _sType;
}
function setCurrPage(_a) {
aCurrPage = _a;
}
function setNextPage(_a) {
aNextPage = _a;
}
function setEndFun(_Fun) {
endSolveFun = _Fun;
}
function initOrder() {
aCurrPage.sort(sortByDepth);
aCurrPage.reverse();
aNextPage.sort(sortByDepth);
for (var _local5 in aNextPage) {
var _local3 = aNextPage[_local5];
for (var _local4 in aCurrPage) {
var _local2 = aCurrPage[_local4];
_local2.swapDepths(_local3);
}
}
}
function sortByDepth(_a, _b) {
var _local1 = _a.getDepth();
var _local2 = _b.getDepth();
if (_local1 > _local2) {
return(-1);
}
if (_local1 < _local2) {
return(1);
}
}
function showMc(_a) {
for (var _local2 in _a) {
_a[_local2]._visible = true;
}
}
function hideMc(_a) {
for (var _local2 in _a) {
_a[_local2]._visible = false;
}
}
function tempDraw() {
hideMc(aNextPage);
hideMc([this]);
mcTempStage = newMc2(_root, "mcTempStage");
_root.transPageBD.draw(_root);
mcTempStage.attachBitmap(_root.transPageBD, 0);
hideMc(aCurrPage);
showMc(aNextPage);
showMc([this]);
}
function stSetMask() {
tempDraw();
mcTempStage.setMask(this);
}
function killSelf() {
kill(mcTempStage);
kill(this);
}
function killCurrPage() {
for (var _local3 in aCurrPage) {
var _local2 = aCurrPage[_local3];
kill(_local2);
}
}
function stEndSolve() {
endSolveFun();
_root.activeBt();
if (sType == "ABS") {
killCurrPage();
}
killSelf();
}
}
Symbol 1177 MovieClip [__Packages.as.Draw] Frame 0
class as.Draw extends MovieClip
{
var LEVEL, maxDotNum, unitLen, btPencil, btEdit, mcMouseType, tool, bDrawing, dotNum, prevX, _xmouse, prevY, _ymouse, aPoint, bEditing, mcEdit, atMc, kill, getAng, atMc2, currX, currY, getDis, floor, cosD, sinD;
function Draw () {
super();
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
maxDotNum = 10;
unitLen = 50;
selDrawTool();
btPencil = _root.mcLayout.mcDrawBt.btPencil;
btEdit = _root.mcLayout.mcDrawBt.btEdit;
mcMouseType = _root.mcLayout.mcMouseType;
}
function selDrawTool() {
unselTool();
tool = "DRAW";
btPencil.gotoAndStop("on");
mcMouseType.gotoAndStop("pencil");
}
function selEditTool() {
unselTool();
tool = "EDIT";
btEdit.gotoAndStop("on");
mcMouseType.gotoAndStop("edit");
}
function unselTool() {
mcMouseType.gotoAndStop("empty");
btPencil.gotoAndStop("off");
btEdit.gotoAndStop("off");
}
function stDraw() {
if (_root.bPause) {
return(undefined);
}
var _local3 = _root.mcLayout.hitA.hitTest(_root._xmouse, _root._ymouse, true);
if (!_local3) {
if (!checkDrawArea()) {
_root.alrm("draw", 0);
}
if (_root._xmouse > 760) {
_root.alrm("draw", 1);
}
}
_root.mcLevel.startDrawNote._visible = false;
_root.mcLevel.startDrawNote2._visible = false;
bDrawing = true;
dotNum = 0;
prevX = _xmouse;
prevY = _ymouse;
clearPoint();
addPoint(prevX, prevY);
}
function stopDraw() {
bDrawing = false;
if (aPoint.length >= 2) {
_root.mcLayout.btReplay._visible = false;
}
autoLink();
_root.addCurrTrackPoint(aPoint);
drawMask();
LEVEL.updateMapTrack();
aPoint = new Array();
}
function stEdit() {
bEditing = true;
mcEdit = atMc(this, "mcEdit");
mcEdit._visible = false;
}
function stopEdit() {
bEditing = false;
LEVEL.updateMapTrack();
kill(mcEdit);
}
function addPoint(_px, _py) {
aPoint.push({x:_px, y:_py});
}
function clearPoint() {
aPoint = [];
}
function getMaskPoint(aCoord) {
var _local11 = [];
var _local6 = aCoord[0].x;
var _local5 = aCoord[0].x;
var _local9 = 0;
var _local10 = 0;
var _local12 = aCoord.length;
var _local1 = 0;
while (_local1 < _local12) {
var _local4 = aCoord[_local1].x;
if (_local4 <= _local6) {
_local6 = _local4;
_local9 = _local1;
}
if (_local4 >= _local5) {
_local5 = _local4;
_local10 = _local1;
}
_local1++;
}
if (_local9 > _local10) {
var _local14 = _local10;
var _local13 = _local9;
} else {
var _local14 = _local9;
var _local13 = _local10;
}
_local1 = _local14;
while (_local1 <= _local13) {
var _local4 = aCoord[_local1].x;
var _local3 = aCoord[_local1].y;
_local11.push({x:_local4, y:_local3});
_local1++;
}
return(_local11);
}
function onMouseDown() {
if (_root.bStart) {
return(undefined);
}
if (_root.bOver) {
return(undefined);
}
if (_root.bPause) {
return(undefined);
}
if (tool == "DRAW") {
stDraw();
} else if (tool == "EDIT") {
stEdit();
}
}
function onMouseUp() {
stopDraw();
stopEdit();
}
function onMouseMove() {
if (tool == "DRAW") {
creatLine();
} else if (tool == "EDIT") {
clearTrackUnit();
}
mcEdit._x = _xmouse;
mcEdit._y = _ymouse;
}
function autoStopDraw() {
if (_root._xmouse > 760) {
if (bDrawing) {
stopDraw();
stopEdit();
}
}
}
function creatTrack(x1, y1, x2, y2) {
var _local2 = _root.createLineSurface(x1, y1, x2, y2);
return(_local2);
}
function clearTrackUnit() {
if (!bEditing) {
return(undefined);
}
if (!(mcEdit instanceof MovieClip)) {
return(undefined);
}
for (var _local5 in _root.aCurrTrackMc) {
var _local3 = _root.aCurrTrackMc[_local5];
var _local4 = _local3.hitTest(mcEdit.hitA);
if (_local4) {
_local3.killSelf();
}
}
}
function checkDrawArea() {
var _local6 = _root.mcLayout.hitA.hitTest(_root._xmouse, _root._ymouse, true);
if (_root.gameMode == "training") {
if (_local6) {
return(false);
}
return(true);
}
for (var _local5 in _root.aDrawArea) {
var _local4 = _root.aDrawArea[_local5][0];
var _local3 = _root.aDrawArea[_local5][1];
if (_xmouse > _local4) {
if (_xmouse < _local3) {
if (_ymouse < _root.drawY2) {
if (_xmouse < _root.drawX2) {
if (_ymouse > _root.drawStartY) {
return(true);
}
} else if (_ymouse > _root.drawY1) {
return(true);
}
}
}
}
}
return(false);
}
function autoLink() {
if (_root.bStart) {
return(undefined);
}
if (tool != "DRAW") {
return(undefined);
}
if (aPoint.length <= 1) {
return(undefined);
}
var _local3 = _root.startTrackEndX;
var _local5 = _root.startTrackEndY;
var _local4 = aPoint[0].x;
var _local6 = aPoint[0].y;
var _local9 = _root.autoLinkDis;
var _local7 = true;
if ((_local4 - _local3) < 0) {
_local7 = false;
}
if ((_local4 - _local3) > _local9) {
_local7 = false;
}
if (Math.floor(_local6 - _local5) > _local9) {
_local7 = false;
}
if (_local7) {
aPoint.unshift({x:_local3, y:_local5});
var _local13 = getAng(_local3, _local5, _local4, _local6);
var _local10 = creatTrack(_local3, _local5, _local4, _local6);
var _local8 = atMc2(this, "mcTrackUnit2");
stDrawLine(_local8, _local3, _local5, _local4, _local6);
_local8.setSurface(_local10);
_root.addCurrTrackMc(_local8);
}
}
function creatLine() {
if (_root.bPause) {
return(undefined);
}
if (_root.bOver) {
return(undefined);
}
if (!bDrawing) {
return(undefined);
}
if (!checkDrawArea()) {
stopDraw();
return(undefined);
}
currX = _xmouse;
currY = _ymouse;
var _local10 = getDis(prevX, prevY, currX, currY);
var _local8 = getAng(prevX, prevY, currX, currY);
var _local9 = floor(_local10 / unitLen);
if (_local9 > 0) {
var _local7 = 0;
while (_local7 < _local9) {
var _local5 = prevX + (unitLen * cosD(_local8));
var _local4 = prevY + (unitLen * sinD(_local8));
var _local6 = creatTrack(prevX, prevY, _local5, _local4);
var _local3 = atMc2(this, "mcTrackUnit");
_local3._x = prevX;
_local3._y = prevY;
_local3._rotation = getAng(prevX, prevY, _local5, _local4);
_local3.setSurface(_local6);
_root.addCurrTrackMc(_local3);
dotNum = dotNum + 1;
prevX = _local5;
prevY = _local4;
addPoint(prevX, prevY);
_local7++;
}
}
}
function stDrawLine(_mc, x1, y1, x2, y2) {
_mc.lineStyle(_root.trackThickness, _root.trackColor, 100);
_mc.moveTo(x1, y1);
_mc.lineTo(x2, y2);
}
function drawMask() {
var _local5 = LEVEL.mcTrackMask;
_local5.clear();
_local5.lineStyle(1, 0, 100);
for (var _local11 in _root.aCurrTrackPoint) {
var _local4 = getMaskPoint(_root.aCurrTrackPoint[_local11]);
var _local8 = _local4[0].x;
var _local10 = _local4[0].y;
_local5.moveTo(_local8, _local10);
_local5.beginFill(0);
var _local3 = 0;
var _local9 = _local4.length;
while (_local3 < _local9) {
var _local6 = _local4[_local3].x;
var _local7 = _local4[_local3].y;
_local5.lineTo(_local6, _local7);
_local3++;
}
_local5.lineTo(_local6, _root.landY);
_local5.lineTo(_local8, _root.landY);
_local5.lineTo(_local8, _local10);
_local5.endFill();
}
}
}
Symbol 1178 MovieClip [__Packages.as.AlarmMc] Frame 0
class as.AlarmMc extends MovieClip
{
var LEVEL, aCoord, startX, endX, L, _x, _y, _height, mcMask, mcLeftFoot, mcRightFoot;
function AlarmMc () {
super();
_global.initGlobalFun(this);
LEVEL = _root.mcLevel;
trace("\u6211\u662F\u8B66\u6212\u7EBF!");
}
function initCoord(_aCoord) {
aCoord = _aCoord;
startX = aCoord[0];
endX = aCoord[1];
L = endX - startX;
_x = startX;
_y = (_root.landY - _height) + 2;
mcMask._width = L;
mcLeftFoot._x = 0;
mcRightFoot._x = L;
}
}
Symbol 1179 MovieClip [__Packages.org.cove.flade.surfaces.LineSurface] Frame 0
class org.cove.flade.surfaces.LineSurface extends org.cove.flade.surfaces.AbstractTile implements org.cove.flade.surfaces.Surface
{
var p1, p2, collNormal, isVisible, dmc, onContact, faceNormal, collisionDepth, testIntervals, minY, maxY, minX, maxX, sideNormal, minS, maxS, minF, maxF, rise, run, sign, slope, invB, setCardProjections, p3, p4, verts;
function LineSurface (p1x, p1y, p2x, p2y) {
super(0, 0);
p1 = new org.cove.flade.util.Vector(p1x, p1y);
p2 = new org.cove.flade.util.Vector(p2x, p2y);
calcFaceNormal();
collNormal = new org.cove.flade.util.Vector(0, 0);
setCollisionDepth(50);
}
function paint() {
if (isVisible) {
dmc.clear();
dmc.lineStyle(0, 2237064, 100);
org.cove.flade.graphics.Graphics.paintLine(dmc, p1.x, p1.y, p2.x, p2.y);
}
}
function resolveCircleCollision(p, sysObj) {
if (isCircleColliding(p)) {
_root.checkLand(p.wheelName);
onContact();
p.resolveCollision(faceNormal, sysObj);
}
}
function resolveRectangleCollision(p, sysObj) {
if (isRectangleColliding(p)) {
onContact();
p.resolveCollision(collNormal, sysObj);
}
}
function setCollisionDepth(d) {
collisionDepth = d;
precalculate();
}
function isCircleColliding(p) {
findClosestPoint(p.curr, p.closestPoint);
var _local3 = p.closestPoint.minusNew(p.curr);
_local3.normalize();
if (inequality(p.curr)) {
var _local5 = Math.abs(_local3.x);
_local3.x = ((faceNormal.x < 0) ? (_local5) : (-_local5));
_local3.y = Math.abs(_local3.y);
}
var _local4 = p.curr.plusNew(_local3.mult(p.radius));
if (segmentInequality(_local4)) {
if (_local4.distance(p.closestPoint) > collisionDepth) {
return(false);
}
var _local7 = _local4.x - p.closestPoint.x;
var _local6 = _local4.y - p.closestPoint.y;
p.mtd.setTo(-_local7, -_local6);
return(true);
}
return(false);
}
function isRectangleColliding(p) {
p.getCardYProjection();
var _local7 = testIntervals(p.bmin, p.bmax, minY, maxY);
if (_local7 == 0) {
return(false);
}
p.getCardXProjection();
var _local8 = testIntervals(p.bmin, p.bmax, minX, maxX);
if (_local8 == 0) {
return(false);
}
p.getAxisProjection(sideNormal);
var _local10 = testIntervals(p.bmin, p.bmax, minS, maxS);
if (_local10 == 0) {
return(false);
}
p.getAxisProjection(faceNormal);
var _local9 = testIntervals(p.bmin, p.bmax, minF, maxF);
if (_local9 == 0) {
return(false);
}
var _local4 = Math.abs(_local8);
var _local3 = Math.abs(_local7);
var _local6 = Math.abs(_local10);
var _local5 = Math.abs(_local9);
if (((_local4 <= _local3) && (_local4 <= _local6)) && (_local4 <= _local5)) {
p.mtd.setTo(_local8, 0);
collNormal.setTo(p.mtd.x / _local4, 0);
} else if (((_local3 <= _local4) && (_local3 <= _local6)) && (_local3 <= _local5)) {
p.mtd.setTo(0, _local7);
collNormal.setTo(0, p.mtd.y / _local3);
} else if (((_local5 <= _local4) && (_local5 <= _local3)) && (_local5 <= _local6)) {
p.mtd = faceNormal.multNew(_local9);
collNormal.copy(faceNormal);
} else if (((_local6 <= _local4) && (_local6 <= _local3)) && (_local6 <= _local5)) {
p.mtd = sideNormal.multNew(_local10);
collNormal.copy(sideNormal);
}
return(true);
}
function precalculate() {
rise = p2.y - p1.y;
run = p2.x - p1.x;
sign = ((run >= 0) ? 1 : -1);
slope = rise / run;
invB = 1 / ((run * run) + (rise * rise));
createRectangle();
calcSideNormal();
setCardProjections();
setAxisProjections();
}
function calcFaceNormal() {
faceNormal = new org.cove.flade.util.Vector(0, 0);
var _local3 = p2.x - p1.x;
var _local2 = p2.y - p1.y;
faceNormal.setTo(_local2, -_local3);
faceNormal.normalize();
}
function segmentInequality(toPoint) {
var _local2 = findU(toPoint);
var _local3 = inequality(toPoint);
return(((_local2 >= 0) && (_local2 <= 1)) && (_local3));
}
function inequality(toPoint) {
var _local2 = ((slope * (toPoint.x - p1.x)) + (p1.y - toPoint.y)) * sign;
return(_local2 <= 0);
}
function findClosestPoint(toPoint, returnVect) {
var _local2 = findU(toPoint);
if (_local2 <= 0) {
returnVect.copy(p1);
return(undefined);
}
if (_local2 >= 1) {
returnVect.copy(p2);
return(undefined);
}
var _local5 = p1.x + (_local2 * (p2.x - p1.x));
var _local4 = p1.y + (_local2 * (p2.y - p1.y));
returnVect.setTo(_local5, _local4);
}
function findU(p) {
var _local2 = ((p.x - p1.x) * run) + ((p.y - p1.y) * rise);
return(_local2 * invB);
}
function createRectangle() {
var _local5 = p2.x + ((-faceNormal.x) * collisionDepth);
var _local3 = p2.y + ((-faceNormal.y) * collisionDepth);
var _local4 = p1.x + ((-faceNormal.x) * collisionDepth);
var _local2 = p1.y + ((-faceNormal.y) * collisionDepth);
p3 = new org.cove.flade.util.Vector(_local5, _local3);
p4 = new org.cove.flade.util.Vector(_local4, _local2);
verts.push(p1);
verts.push(p2);
verts.push(p3);
verts.push(p4);
}
function setAxisProjections() {
var _local2;
minF = p2.dot(faceNormal);
maxF = p3.dot(faceNormal);
if (minF > maxF) {
_local2 = minF;
minF = maxF;
maxF = _local2;
}
minS = p1.dot(sideNormal);
maxS = p2.dot(sideNormal);
if (minS > maxS) {
_local2 = minS;
minS = maxS;
maxS = _local2;
}
}
function calcSideNormal() {
sideNormal = new org.cove.flade.util.Vector(0, 0);
var _local3 = p3.x - p2.x;
var _local2 = p3.y - p2.y;
sideNormal.setTo(_local2, -_local3);
sideNormal.normalize();
}
}
Symbol 1180 MovieClip [__Packages.global.GlobalFun] Frame 0
class global.GlobalFun
{
function GlobalFun () {
initFun();
}
function initFun() {
_global.initGlobalFun = function (_mc) {
var _local2 = _mc;
_local2.turnTo = _global.turnTo;
_local2.kill = _global.kill;
_local2.nextDepth = _global.nextDepth;
_local2.atMc = _global.atMc;
_local2.atMc2 = _global.atMc2;
_local2.newMc = _global.newMc;
_local2.newMc2 = _global.newMc2;
_local2.killInter = _global.killInter;
_local2.killArrayElem = _global.killArrayElem;
_local2.funManage = _global.funManage;
_local2.funManage2 = _global.funManage2;
_local2.fixUI2 = _global.fixUI2;
_local2.oddsManage = _global.oddsManage;
_local2.frame2Time = _global.frame2Time;
_local2.time2Frame = _global.time2Frame;
_local2.changeColor = _global.changeColor;
_local2.newFPS = _global.newFPS;
_local2.drawLine = _global.drawLine;
_local2.drawManage = _global.drawManage;
_local2.newMasker = _global.newMasker;
_local2.keyManage = _global.keyManage;
_local2.classMenu = _global.classMenu;
_local2.randPlay = _global.randPlay;
_local2.car2Flash = _global.car2Flash;
_local2.flash2Car = _global.flash2Car;
_local2.car2Polar = _global.car2Polar;
_local2.polar2Car = _global.polar2Car;
_local2.getCoordG = _global.getCoordG;
_local2.getCoordG2 = _global.getCoordG2;
_local2.getCoordL = _global.getCoordL;
_local2.convert2McCoord = _global.convert2McCoord;
_local2.randPole = _global.randPole;
_local2.rand = _global.rand;
_local2.intRand = _global.intRand;
_local2.floor = _global.floor;
_local2.ceil = _global.ceil;
_local2.round = _global.round;
_local2.sqrt = _global.sqrt;
_local2.abs = _global.abs;
_local2.getDis = _global.getDis;
_local2.getL2 = _global.getL2;
_local2.getL3 = _global.getL3;
_local2.sinD = _global.sinD;
_local2.cosD = _global.cosD;
_local2.atan2D = _global.atan2D;
_local2.asinD = _global.asinD;
_local2.acosD = _global.acosD;
_local2.tanD = _global.tanD;
_local2.d2r = _global.d2r;
_local2.r2d = _global.r2d;
_local2.fixAng = _global.fixAng;
_local2.getAng = _global.getAng;
_local2.getAng2 = _global.getAng2;
_local2.getOutAng = _global.getOutAng;
_local2.getRo = _global.getRo;
_local2.classRo = _global.classRo;
_local2.classRo2 = _global.classRo2;
};
_global.turnTo = function (_sFrame) {
var _local2 = _root;
_local2.gotoAndStop(_sFrame);
};
_global.kill = function (_mc) {
_mc.removeMovieClip();
if (_mc) {
_mc.swapDepths(0);
_mc.removeMovieClip();
}
};
_global.nextDepth = function (_mc) {
var _local1 = _mc.getNextHighestDepth();
return(_local1);
};
_global.atMc = function (_dir, _mc, _newName) {
var _local2 = _dir.getNextHighestDepth();
if (!_newName) {
_newName = _mc;
}
var _local1 = _dir.attachMovie(_mc, _newName, _local2);
return(_local1);
};
_global.atMc2 = function (_dir, _mc, _newName) {
var _local1 = _dir.getNextHighestDepth();
if (!_newName) {
_newName = _mc;
}
var _local2 = _dir.attachMovie(_mc, _newName + _local1, _local1);
return(_local2);
};
_global.newMc = function (_dir, _mc) {
var _local2 = _dir.getNextHighestDepth();
var _local1 = _dir.createEmptyMovieClip(_mc, _local2);
return(_local1);
};
_global.newMc2 = function (_dir, _mc) {
var _local1 = _dir.getNextHighestDepth();
var _local2 = _dir.createEmptyMovieClip(_mc + _local1, _local1);
return(_local2);
};
_global.killInter = function (_dir, _aInter) {
_dir.onUnload = function () {
for (var _local1 in _aInter) {
clearInterval(_dir[_aInter[_local1]]);
}
};
};
_global.killArrayElem = function (_a, _elem) {
var _local6 = _elem;
var _local2 = _a;
var _local5 = _local2.length;
var _local1 = 0;
var _local4 = 0;
var _local3 = false;
while (_local1 < _local5) {
if (_local6 == _local2[_local1]) {
_local4 = _local1;
_local3 = true;
break;
}
_local1++;
}
if (_local3) {
_local2.splice(_local4, 1);
}
};
_global.funManage = function (_dir, _aFun) {
var _local3 = _dir;
var _local2 = _aFun;
for (var _local5 in _local2) {
var _local1 = _local2[_local5];
for (var _local4 in _local1) {
_local3[_local1[_local4]]();
}
}
};
_global.funManage2 = function (_dir, _aFun) {
var _local6 = _dir;
var _local5 = _aFun;
for (var _local8 in _local5) {
var _local4 = _local5[_local8];
for (var _local7 in _local4) {
var _local2 = _local6[_local4[_local7]];
var _local3 = _local2.aFun;
this.funManage(_local2, [_local3]);
}
}
};
_global.fixUI2 = function () {
_root.reserved.swapDepths(-2);
_root.focusManager.swapDepths(-1);
};
_global.oddsManage = function (_dir, _aOdds, _aFun) {
var _local8 = _aOdds.length;
var _local6 = Math.random();
var _local7 = 0;
var _local2 = 0;
while (_local2 < _local8) {
var _local3 = 0;
var _local4 = _aOdds[_local2];
var _local1 = 0;
while (_local1 < _local2) {
_local3 = _local3 + _aOdds[_local1];
_local1++;
}
_local4 = _local4 + _local3;
if (_local6 >= _local3) {
if (_local6 < _local4) {
_local7 = _local2;
break;
}
}
_local2++;
}
return(_dir[_aFun[_local7]]());
};
_global.frame2Time = function (_nFrames, _FPS) {
var _local1 = (_nFrames / _FPS) * 1000;
return(_local1);
};
_global.time2Frame = function (_T, _FPS) {
var _local1 = (_T / 1000) * _FPS;
return(_local1);
};
_global.changeColor = function (_mc, _colorTrans) {
var _local1 = new Color(_mc);
_local1.setTransform(_colorTrans);
};
_global.newFPS = function (_vis) {
var mcFPS = this.newMc(_root, "mcFPS");
if (_vis == undefined) {
_vis = true;
}
if (_vis) {
mcFPS.createTextField("FPSTextField", this.nextDepth(mcFPS), 20, 10, 50, 20);
}
var fps = 0;
mcFPS.onEnterFrame = function () {
fps++;
};
mcFPS.calcFPS = function () {
if (_vis) {
mcFPS.FPSTextField.text = String("FPS: " + fps);
}
fps = 0;
};
setInterval(mcFPS, "calcFPS", 1000);
};
_global.drawLine = function (_mc, x1, y1, x2, y2) {
var _local1 = _mc;
_local1.clear();
_local1.lineStyle(1, 0, 100);
_local1.moveTo(x1, y1);
_local1.lineTo(x2, y2);
};
_global.drawManage = function (_mc, aLineStyle, aCoord, aFillColor, baseName) {
var _local7 = _mc;
_local7.lineStyle(aLineStyle[0], aLineStyle[1], aLineStyle[2]);
var _local4 = aCoord[0][0];
var _local3 = aCoord[0][1];
_local7.moveTo(_local4, _local3);
if (aFillColor) {
if (typeof(aFillColor[0]) == "number") {
_local7.beginFill(aFillColor[0], aFillColor[1]);
} else {
_local7.beginBitmapFill(aFillColor[0], aFillColor[1], aFillColor[2], aFillColor[3]);
}
}
var _local5 = 1;
var _local11 = aCoord.length;
while (_local5 < _local11) {
if (baseName) {
var _local2 = this.newMc2(_local7, baseName);
_local2.cacheAsBitmap = true;
_local2.lineStyle(aLineStyle[0], aLineStyle[1], aLineStyle[2]);
_local2.moveTo(_local4, _local3);
}
_local4 = aCoord[_local5][0];
_local3 = aCoord[_local5][1];
_local7.lineTo(_local4, _local3);
if (_local2) {
_local2.lineTo(_local4, _local3);
}
_local5++;
}
if (aFillColor) {
_local7.endFill();
}
};
_global.newMasker = function (w, h, aColor, _dir, L) {
if (!aColor) {
aColor = [0, 100];
}
if (!_dir) {
_dir = _root;
}
if (!w) {
w = Stage.width;
}
if (!h) {
h = Stage.height;
}
if (!L) {
L = 500;
}
this.kill(_dir[_dir._name + "Masker"]);
var _local7 = this.newMc(_dir, _dir._name + "Masker");
var _local12 = [[-L, -L], [w + L, -L], [w + L, 0], [-L, 0]];
var _local11 = [[-L, h], [w + L, h], [w + L, h + L], [-L, h + L]];
var _local10 = [[-L, -L], [0, -L], [0, h + L], [-L, h + L]];
var _local9 = [[w, -L], [w + L, -L], [w + L, h + L], [w, h + L]];
this.drawManage(_local7, [1, 0, 0], _local12, [aColor[0], aColor[1]]);
this.drawManage(_local7, [1, 0, 0], _local11, [aColor[0], aColor[1]]);
this.drawManage(_local7, [1, 0, 0], _local10, [aColor[0], aColor[1]]);
this.drawManage(_local7, [1, 0, 0], _local9, [aColor[0], aColor[1]]);
};
_global.keyManage = function (_dir, aKey, aFun, aExtFun) {
var keyManager = this.newMc(_dir, _dir._name + "KeyManager");
for (var _local4 in aKey) {
var _local2 = aKey[_local4];
keyManager["bDown" + _local2] = false;
}
var len = aKey.length;
keyManager.onEnterFrame = function () {
var _local2 = 0;
while (_local2 < len) {
var _local1 = aKey[_local2];
if (Key.isDown(_local1)) {
if (!keyManager["bDown" + _local1]) {
_dir[aFun[_local2][1]]();
keyManager["bDown" + _local1] = true;
}
_dir[aFun[_local2][0]]();
}
if (!Key.isDown(_local1)) {
if (keyManager["bDown" + _local1]) {
_dir[aFun[_local2][2]]();
keyManager["bDown" + _local1] = false;
}
}
_local2++;
}
_dir[aExtFun]();
};
};
_global.classMenu = function (_dir, aMenu, aFun, aExtFun) {
var _local4 = aMenu.length;
var _local3 = 0;
while (_local3 < _local4) {
var _local2 = _dir[aMenu[_local3]];
_local2.onRollOver = function () {
this.gotoAndPlay(2);
_dir[aExtFun[0]]();
};
_local2.onRollOut = function () {
this.gotoAndPlay(this._totalframes - this._currentframe);
_dir[aExtFun[1]]();
};
if (aFun) {
_local2.id = _local3;
_local2.onPress = function () {
_dir[aFun[this.id]]();
};
}
_local3++;
}
};
_global.classMenu2 = function (_dir, aMenu, aExtFun) {
var len = aMenu.length;
var _local6 = this.newMc2(_dir, "mcHit");
_local6.onEnterFrame = function () {
var _local3 = 0;
while (_local3 < len) {
var _local2 = _dir[aMenu[_local3]];
var _local4 = _local2.hitTest(_root._xmouse, _root._ymouse, true);
if (_local4) {
if (!_local2.bHited) {
_local2.gotoAndPlay(2);
_dir[aExtFun[0]]();
_local2.bHited = true;
}
} else if (_local2.bHited) {
_local2.gotoAndPlay(_local2._totalframes - _local2._currentframe);
_dir[aExtFun[1]]();
_local2.bHited = false;
}
_local3++;
}
};
};
_global.randPlay = function (_mc) {
if (!_mc.bInited) {
_mc.gotoAndPlay(this.intRand(_mc._totalframes));
_mc.bInited = true;
}
};
_global.car2Flash = function (_o) {
_o._y = _o._y * -1;
_o._rotation = _o._rotation * -1;
};
_global.flash2Car = function (_o) {
return(this.car2Flash(_o));
};
_global.car2Polar = function (x, y) {
var _local2 = Math.sqrt((x * x) + (y * y));
var _local5 = this.atan2D(y, x);
return({r:_local2, a:_local5});
};
_global.polar2Car = function (len, ang) {
var _local3 = len * this.cosD(ang);
var _local2 = len * this.sinD(ang);
return({x:_local3, y:_local2});
};
_global.getCoordG = function (_mc) {
var _local1 = {x:_mc._x, y:_mc._y};
_mc._parent.localToGlobal(_local1);
return(_local1);
};
_global.getCoordG2 = function (_mc, xx, yy) {
var _local1 = {x:xx, y:yy};
_mc.localToGlobal(_local1);
return(_local1);
};
_global.getCoordL = function (_mc, xx, yy) {
var _local1 = {x:xx, y:yy};
_mc._parent.globalToLocal(_local1);
return(_local1);
};
_global.convert2McCoord = function (_mc1, _mc2, _xx, _yy) {
var _local1 = {x:_xx, y:_yy};
_mc1.localToGlobal(_local1);
_mc2._parent.globalToLocal(_local1);
return(_local1);
};
_global.randPole = function () {
var _local1 = ((Math.random() > 0.5) ? 1 : -1);
return(_local1);
};
_global.rand = function (_n) {
if (!_n) {
_n = 1;
}
var _local2 = Math.random() * _n;
return(_local2);
};
_global.intRand = function (_n) {
var _local1 = Math.floor(Math.random() * _n);
return(_local1);
};
_global.floor = function (_n) {
var _local1 = Math.floor(_n);
return(_local1);
};
_global.ceil = function (_n) {
var _local1 = Math.ceil(_n);
return(_local1);
};
_global.round = function (_n) {
var _local1 = Math.round(_n);
return(_local1);
};
_global.sqrt = function (_n) {
var _local1 = Math.sqrt(_n);
return(_local1);
};
_global.abs = function (_n) {
var _local1 = Math.abs(_n);
return(_local1);
};
_global.getDis = function (x1, y1, x2, y2) {
var _local2 = x2 - x1;
var _local1 = y2 - y1;
var _local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
return(_local3);
};
_global.getL2 = function (l1, l3) {
var _local1 = Math.sqrt((l3 * l3) - (l1 * l1));
return(_local1);
};
_global.getL3 = function (l1, l2) {
var _local1 = Math.sqrt((l1 * l1) + (l2 * l2));
return(_local1);
};
_global.sinD = function (_angle) {
var _local1 = Math.sin((_angle * 3.141593) / 180);
return(_local1);
};
_global.cosD = function (_angle) {
var _local1 = Math.cos((_angle * 3.141593) / 180);
return(_local1);
};
_global.atan2D = function (y, x) {
var _local1 = Math.atan2(y, x) * 57.29578;
return(_local1);
};
_global.asinD = function (_ratio) {
var _local1 = Math.asin(_ratio) * 57.29578;
return(_local1);
};
_global.acosD = function (_ratio) {
var _local1 = Math.acos(_ratio) * 57.29578;
return(_local1);
};
_global.tanD = function (_angle) {
var _local1 = Math.tan((_angle * 3.141593) / 180);
return(_local1);
};
_global.d2r = function (_angle) {
var _local1 = _angle * 0.017453;
return(_local1);
};
_global.r2d = function (_radian) {
var _local1 = _radian * 57.29578;
return(_local1);
};
_global.fixAng = function (_ang) {
var _local1 = _ang % 360;
var _local2 = (((_local1 % 360) < 0) ? (_local1 + 360) : (_local1));
return(_local2);
};
_global.getAng = function (x1, y1, x2, y2) {
var _local1 = Math.atan2(y2 - y1, x2 - x1) * 57.29578;
return(_local1);
};
_global.getAng2 = function (_a1, _a2) {
var _local4 = this.fixAng(_a1);
var _local3 = this.fixAng(_a2);
var _local2 = this.abs(_local3 - _local4);
if (_local2 > 180) {
_local2 = 360 - _local2;
}
_local2 = this.fixAng(_local2);
return(_local2);
};
_global.getOutAng = function (_lineAng, _inAng) {
var _local1 = (_lineAng * 2) - _inAng;
return(_local1);
};
_global.getRo = function (_a1, _a2, _mod, _r, _m) {
var _local7 = this.fixAng(_a1);
var _local2 = this.fixAng(_a2);
var _local5 = _r;
var _local6 = _local7 - _local2;
var _local3 = this.abs(_local6);
if (_local3 < _m) {
return(_local2);
}
var _local4 = _local3 / _local6;
if (_local3 > 180) {
_local3 = 360 - _local3;
_local4 = -_local4;
}
if (_mod == 1) {
_local2 = _local2 + ((_local4 * _local3) * _local5);
} else {
_local2 = _local2 + (_local4 * _local5);
}
_local2 = this.fixAng(_local2);
return(_local2);
};
_global.classRo = function (xx, yy, _ang, _ox, _oy) {
var _local8 = xx;
var _local7 = yy;
var _local2 = _ang;
var _local6 = _ox;
var _local5 = _oy;
_local8 = _local8 - _local6;
_local7 = _local7 - _local5;
var _local4 = (this.cosD(_local2) * _local8) - (this.sinD(_local2) * _local7);
var _local3 = (this.cosD(_local2) * _local7) + (this.sinD(_local2) * _local8);
_local4 = _local4 + _local6;
_local3 = _local3 + _local5;
return({x:_local4, y:_local3});
};
_global.classRo2 = function (xx, yy, _mc, offsetAng) {
var _local5 = xx;
var _local4 = yy;
var _local2 = this.atan2D(_local4, _local5);
if (_mc) {
if (!offsetAng) {
offsetAng = 0;
}
_mc._rotation = _local2 + offsetAng;
}
return(_local2);
};
}
}
Symbol 55 MovieClip Frame 1
return(undefined);
Symbol 76 MovieClip Frame 146
_root.nextFrame();
Symbol 81 Button
on (release) {
gotoAndStop (7);
}
Symbol 88 Button
on (release) {
gotoAndStop ("submit");
}
Symbol 94 Button
on (release) {
gotoAndStop (1);
}
Symbol 104 Button
on (release) {
gotoAndStop ("submited");
}
Symbol 109 Button
on (release) {
viewHighscore();
}
Symbol 110 MovieClip Frame 1
stop();
_global.game_name = _game_name;
var highscore = eval (score_var);
_global.viewHighscore = function () {
getURL ("http://www.freeworldgroup.com/score/index.asp?game=" + game_name, "_blank");
};
if (highscore <= 0) {
this._visible = false;
}
trace(game_name);
trace(highscore);
trace("http://www.freeworldgroup.com/score/index.asp?game=" + game_name);
Symbol 110 MovieClip Frame 3
function sendData() {
send_var.game = game_name;
send_var.score = highscore;
send_var.name = name_txt.text;
if (send_var.name == "") {
send_var.name = "guest" + int(Math.random() * 1000);
}
send_var.sendAndLoad("http://www.freeworldgroup.com/score/score.asp", load_var, "POST");
gotoAndStop ("sending");
}
stop();
gold_txt.text = highscore;
send_var = new LoadVars();
load_var = new LoadVars();
ok_btn.onRelease = sendData;
load_var.onLoad = function () {
gotoAndStop ("done");
};
Instance of Symbol 90 MovieClip in Symbol 110 MovieClip Frame 3
on (release) {
}
Symbol 116 MovieClip [mcMotorDie] Frame 10
stop();
Symbol 118 MovieClip Frame 1
this._visible = false;
Symbol 150 MovieClip Frame 5
stop();
Symbol 151 MovieClip Frame 1
stop();
Symbol 163 MovieClip Frame 17
Symbol 163 MovieClip Frame 21
stop();
Symbol 164 MovieClip [motorBody] Frame 1
stop();
Symbol 197 MovieClip Frame 51
stop();
Symbol 198 MovieClip [mcMilk] Frame 1
stop();
Symbol 212 MovieClip Frame 1
if (!bInit) {
bInit = true;
this.gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Symbol 214 MovieClip [spike] Frame 1
stop();
Symbol 214 MovieClip [spike] Frame 10
stop();
Symbol 216 MovieClip Frame 1
_visible = false;
Symbol 221 MovieClip Frame 10
stop();
Symbol 222 MovieClip [balloon1] Frame 1
stop();
Symbol 224 MovieClip [balloon2] Frame 1
stop();
Symbol 226 MovieClip [balloon3] Frame 1
stop();
Symbol 248 MovieClip Frame 11
stop();
Symbol 249 MovieClip [bigWheel] Frame 1
stop();
Symbol 250 MovieClip Frame 1
_visible = false;
Symbol 310 MovieClip Frame 28
Symbol 311 MovieClip [bomb] Frame 1
stop();
Symbol 311 MovieClip [bomb] Frame 15
_root.sdBoom.start();
Symbol 321 MovieClip Frame 9
stop();
Symbol 322 MovieClip [bus] Frame 1
stop();
Symbol 327 MovieClip Frame 1
var initFrame = Math.floor((Math.random() * 220) + 1);
mcEye1.gotoAndPlay(initFrame);
mcEye2.gotoAndPlay(initFrame);
Symbol 350 MovieClip Frame 80
stop();
Symbol 351 MovieClip [cacti] Frame 1
stop();
Symbol 353 MovieClip Frame 1
this._visible = false;
Symbol 357 MovieClip [fire] Frame 1
stop();
Symbol 363 MovieClip Frame 1
mcEye.gotoAndPlay(Math.floor(Math.random() * 80));
Symbol 365 MovieClip Frame 1
mcEye.gotoAndPlay(Math.floor(Math.random() * 80));
Symbol 367 MovieClip Frame 1
mcEye.gotoAndPlay(Math.floor(Math.random() * 80));
Symbol 373 MovieClip Frame 35
stop();
Symbol 374 MovieClip [popo] Frame 1
stop();
Symbol 378 MovieClip [mcTrackUnit] Frame 1
#initclip 44
Object.registerClass("mcTrackUnit", as.TrackUnit);
#endinitclip
Symbol 379 MovieClip [mcTrackUnit2] Frame 1
#initclip 30
Object.registerClass("mcTrackUnit2", as.TrackUnit);
#endinitclip
Symbol 383 MovieClip [mcWordD] Frame 1
#initclip 31
Object.registerClass("mcWordD", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 393 MovieClip Frame 23
stop();
Symbol 394 MovieClip [mcWordE] Frame 1
#initclip 32
Object.registerClass("mcWordE", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 402 MovieClip [mcWordF] Frame 1
#initclip 33
Object.registerClass("mcWordF", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 404 MovieClip [mcWordG] Frame 1
#initclip 34
Object.registerClass("mcWordG", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 413 MovieClip Frame 22
stop();
Symbol 414 MovieClip [mcWordL] Frame 1
#initclip 35
Object.registerClass("mcWordL", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 416 MovieClip [mcWordO] Frame 1
#initclip 36
Object.registerClass("mcWordO", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 418 MovieClip [mcWordP] Frame 1
#initclip 37
Object.registerClass("mcWordP", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 420 MovieClip [mcWordR] Frame 1
#initclip 38
Object.registerClass("mcWordR", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 422 MovieClip [mcWordU] Frame 1
#initclip 39
Object.registerClass("mcWordU", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 424 MovieClip [mcWordW] Frame 1
#initclip 40
Object.registerClass("mcWordW", as.Word);
#endinitclip
stop();
randFrame = Math.ceil(Math.random() * mcEye1._totalframes);
mcEye1.gotoAndPlay(randFrame);
mcEye2.gotoAndPlay(randFrame);
Symbol 426 MovieClip Frame 1
_visible = false;
Symbol 442 Button
on (release) {
_root.startGame();
}
Symbol 446 Button
on (release) {
_root.pauseGame();
mcQuit.gotoAndPlay(2);
}
Symbol 452 Button
on (release) {
_root.replayGame();
}
Symbol 455 Button
on (release) {
_root.nextLevel();
}
Symbol 457 Button
on (release) {
_root.nLevel = Number(tSetLevel.text);
trace("\u8DF3\u8F6C\u5230 level " + _root.nLevel);
_root.skipLevel();
}
Symbol 479 MovieClip Frame 1
stop();
bt.onPress = function () {
_root.mcLevel.mcDraw.selDrawTool();
};
Symbol 479 MovieClip Frame 10
bt.onPress = function () {
_root.mcLevel.mcDraw.selDrawTool();
};
Symbol 489 MovieClip Frame 1
stop();
bt.onPress = function () {
_root.mcLevel.mcDraw.selEditTool();
};
Symbol 489 MovieClip Frame 10
bt.onPress = function () {
_root.mcLevel.mcDraw.selEditTool();
};
Symbol 497 Button
on (release) {
_root.clearTrack();
}
Symbol 504 Button
on (release) {
_root.showMissionNote();
}
Symbol 505 MovieClip Frame 1
btPencil.gotoAndStop("on");
Symbol 506 MovieClip Frame 1
Mouse.hide();
stop();
Symbol 506 MovieClip Frame 10
Mouse.hide();
Symbol 506 MovieClip Frame 20
Mouse.show();
stop();
Symbol 510 MovieClip Frame 1
stop();
Symbol 512 MovieClip Frame 1
this.useHandCursor = false;
this.onPress = function () {
};
Symbol 520 Button
on (release) {
_root.activeGame();
this.gotoAndPlay("close");
}
Symbol 521 MovieClip Frame 1
stop();
Symbol 521 MovieClip Frame 2
play();
Symbol 521 MovieClip Frame 8
stop();
Symbol 521 MovieClip Frame 17
stop();
Symbol 527 Button
on (release) {
_root.backToFrontPage([_root.mcLevel, _root.mcLayout]);
}
Symbol 530 Button
on (release) {
this.gotoAndPlay("close");
_root.activeGame();
}
Symbol 531 MovieClip Frame 1
stop();
Symbol 531 MovieClip Frame 9
stop();
_root.pauseGame();
Symbol 536 MovieClip Frame 1
stop();
Symbol 536 MovieClip Frame 2
stop();
Symbol 539 MovieClip Frame 1
stop();
Symbol 539 MovieClip Frame 2
stop();
Symbol 543 MovieClip Frame 1
stop();
Symbol 543 MovieClip Frame 2
stop();
Symbol 545 MovieClip Frame 1
if (!_parent.flash_start) {
gotoAndStop (10);
}
Symbol 545 MovieClip Frame 10
stop();
Symbol 546 MovieClip Frame 9
stop();
_parent.flash_start = true;
Symbol 549 MovieClip Frame 1
stop();
Symbol 549 MovieClip Frame 2
stop();
Symbol 551 MovieClip Frame 1
stop();
Symbol 551 MovieClip Frame 2
stop();
Symbol 553 MovieClip Frame 1
stop();
Symbol 553 MovieClip Frame 2
stop();
Symbol 555 MovieClip Frame 1
stop();
Symbol 555 MovieClip Frame 2
stop();
Symbol 556 MovieClip Frame 1
stop();
Symbol 556 MovieClip Frame 10
function quality_init() {
switch (_quality) {
case "LOW" :
bt4.gotoAndStop(2);
return;
case "MEDIUM" :
bt3.gotoAndStop(2);
return;
case "HIGH" :
bt2.gotoAndStop(2);
return;
case "BEST" :
bt1.gotoAndStop(2);
}
}
function bt_init() {
bt1.gotoAndStop(1);
bt2.gotoAndStop(1);
bt3.gotoAndStop(1);
bt4.gotoAndStop(1);
}
stop();
quality_init();
bt1.bt.onPress = function () {
bt_init();
_quality = "BEST";
quality_init();
bt1.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt2.bt.onPress = function () {
bt_init();
_quality = "HIGH";
quality_init();
bt2.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt3.bt.onPress = function () {
bt_init();
_quality = "MEDIUM";
quality_init();
bt3.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt4.bt.onPress = function () {
bt_init();
_quality = "LOW";
quality_init();
bt4.gotoAndStop(2);
_root.bCustomQuality = true;
};
Symbol 556 MovieClip Frame 18
Symbol 557 MovieClip Frame 1
hit = false;
opend = false;
onEnterFrame = function () {
dcHitMenu();
dcMenu();
};
dcHitMenu = function () {
var _local2 = btQuality.hitTest(_root._xmouse, _root._ymouse, false);
if (_local2) {
hit = true;
} else {
hit = false;
}
};
dcMenu = function () {
if (hit && (!opend)) {
qualityMenu.gotoAndPlay(1);
btQuality.gotoAndStop(2);
opend = true;
}
if (!hit) {
if (opend) {
qualityMenu.gotoAndPlay(11);
opend = false;
}
btQuality.gotoAndStop(1);
}
};
if (!_root.bMusicOn) {
btMusic.gotoAndStop(2);
}
if (!_root.bSoundOn) {
btSound.gotoAndStop(2);
}
btMusic.onPress = function () {
btMusic.play();
_root.bMusicOn = !_root.bMusicOn;
_root.initMusic();
};
btSound.onPress = function () {
btSound.play();
_root.bSoundOn = !_root.bSoundOn;
_root.initSD();
};
Instance of Symbol 536 MovieClip "btMusic" in Symbol 557 MovieClip Frame 1
on (release) {
_root.setMusic(this);
}
Instance of Symbol 539 MovieClip "btSound" in Symbol 557 MovieClip Frame 1
on (release) {
_root.setSound(this);
}
Symbol 560 Button
on (release) {
_root.playBack();
}
Symbol 561 MovieClip Frame 1
stop();
Symbol 564 Button
on (release) {
_root.backToFrontPage([_root.mcLevel, _root.mcLayout]);
}
Symbol 570 MovieClip [mcTransPage] Frame 1
#initclip 41
Object.registerClass("mcTransPage", global.TransPage);
#endinitclip
Symbol 570 MovieClip [mcTransPage] Frame 16
stop();
stEndSolve();
Symbol 598 MovieClip Frame 20
stop();
Symbol 620 MovieClip Frame 1
_visible = false;
Symbol 621 MovieClip Frame 1
function addSmoke() {
var _local6 = this._parent;
var _local2 = _local6._parent;
var _local5 = _local2.getNextHighestDepth();
var _local4 = _local2.attachMovie("mcSmoke", "mcSmoke" + _local5, _local5);
var _local3 = convert2McCoord(_local6, _local2, this._x, this._y);
_local4._x = _local3.x;
_local4._y = _local3.y;
}
function convert2McCoord(_mc1, _mc2, _xx, _yy) {
var _local1 = {x:_xx, y:_yy};
_mc1.localToGlobal(_local1);
_mc2._parent.globalToLocal(_local1);
return(_local1);
}
clearInterval(smokeInter);
var smokeInter = setInterval(this, "addSmoke", 150);
Symbol 626 Button
on (release) {
_root.addCredits();
}
Symbol 631 Button
on (release) {
getURL ("http://www.freeworldgroup.com/", _blank);
}
Symbol 635 Button
on (release) {
this.gotoAndStop("end");
}
Symbol 648 Button
on (release) {
_root.playGame();
}
Symbol 650 Button
on (release) {
_root.viewInstructions();
}
Symbol 652 Button
on (release) {
_root.playTrainingGame();
}
Symbol 654 Button
on (release) {
viewHighscore();
}
Symbol 656 Button
on (release) {
getURL ("http://www.freeworldgroup.com/", "_blank");
}
Symbol 658 Button
on (release) {
getURL ("http://www.ifungames.com", "_blank");
}
Symbol 662 Button
on (release) {
getURL ("http://www.freeworldgroup.com/koalafiles.htm", "_blank");
}
Instance of Symbol 628 MovieClip in Symbol 667 MovieClip [mcFrontPage] Frame 1
on (release) {
getURL ("http://www.freeworldgroup.com/", "_blank");
}
Symbol 667 MovieClip [mcFrontPage] Frame 105
stop();
Symbol 668 MovieClip [mcDraw] Frame 1
#initclip 42
Object.registerClass("mcDraw", as.Draw);
#endinitclip
Symbol 677 MovieClip Frame 10
stop();
Symbol 680 MovieClip Frame 10
stop();
Symbol 683 MovieClip Frame 10
stop();
Symbol 685 MovieClip Frame 10
stop();
Symbol 688 MovieClip Frame 10
stop();
Symbol 691 MovieClip Frame 10
stop();
Symbol 694 MovieClip Frame 10
stop();
Symbol 695 MovieClip Frame 1
stop();
Symbol 705 MovieClip Frame 1
if (_root.nLevel != 1) {
this._visible = false;
}
Symbol 715 MovieClip Frame 1
if (_root.nLevel != 1) {
this._visible = false;
}
Symbol 716 MovieClip [mcLevel] Frame 1
function levelInit() {
this._x = 0;
this._y = 0;
_root.initLevelScale();
motor.killSelf();
motor = new as.Motor();
aProp.push(motor);
mcDraw.drawMask();
updateMapScene();
updateMapTrack();
if (_root._globalEngineVis) {
_root.engine.paintSurfaces();
}
_root.showScreenNote();
if (bShowMission) {
_root.showMissionNote();
bShowMission = false;
}
if (!bShowReplay) {
bShowReplay = true;
_root.mcLayout.btReplay._visible = false;
} else {
_root.mcLayout.btReplay._visible = true;
if (!_root.bReplayShowed) {
_root.mcLayout.mcReplayNote.gotoAndPlay(2);
_root.bReplayShowed = true;
}
}
if (!bExtNoted) {
if (bAlarmBalloon) {
_root.alrm("prop", 2);
bExtNoted = true;
} else if (bAlarmFire) {
_root.alrm("prop", 3);
bExtNoted = true;
}
}
}
function resetLevel() {
killProp();
levelInit();
circleTrack.initTrackState();
kill(mcMotorDie);
_root.sdBike.stop();
}
function killProp() {
for (var _local1 in aProp) {
aProp[_local1].reset();
}
}
function updateMapScene() {
_root.mcLayout.mcMap.updateScene();
_root.mcLayout.mcMap.initRole();
}
function updateMapTrack() {
_root.mcLayout.mcMap.updateTrack();
}
function createStartTrack() {
var _local5 = _root.startTrackStartX;
var _local3 = _root.startTrackStartY;
var _local4 = _root.startTrackEndX;
var _local2 = _root.startTrackEndY;
aStartTrackCoord = [{x:_local5, y:_local3}, {x:_local4, y:_local2}];
var _local6 = new as.Track([0, 0], aStartTrackCoord);
_local6.createConutineTrack();
_root.aCurrTrackPoint.push(aStartTrackCoord);
}
function initStartTracePoint() {
_root.aCurrTrackPoint.push(aStartTrackCoord);
circleTrack.setCircleTrackPoint();
}
function creatMcAlarm(_aCoord) {
var _local2 = atMc2(this, "mcAlarm");
_local2.initCoord(_aCoord);
}
function createLevel() {
_root.aDrawArea = [[_root.drawX1, _root.drawX2]];
if (_root.gameMode == "training") {
landX = 1800;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stDie();
} else {
_root.stDie();
}
}
};
return(undefined);
}
switch (_root.nLevel) {
case 1 :
var _local13 = 1500;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
var _local21 = new as.Prop("bus", [900, 0]);
var _local20 = new as.Prop("bus", [1200, 0]);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = 1450;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 2 :
_local13 = 1480;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("balloon", [1000, -400]);
_local20 = new as.Prop("balloon", [1200, -450]);
var _local19 = new as.Prop("balloon", [1400, -400]);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
checkPass = function () {
if (motor.centX > 1400) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.balloonNum == 3) {
_root.stWin();
} else {
_root.stDie();
bAlarmBalloon = true;
}
}
};
break;
case 3 :
_local13 = 2000;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("bigWheel", [1000, 0]);
_local20 = new as.Prop("cacti", [1300, 0]);
_local19 = new as.Prop("bigWheel", [1600, 0]);
var _local18 = new as.Prop("cacti", [1900, 0]);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = 1900;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 4 :
_local21 = new as.Prop("bigWheel", [1050, 0]);
_local20 = new as.Prop("bigWheel", [1400, 0]);
_local19 = new as.Prop("slowPlat", [2000, 0]);
_local18 = new as.Prop("cacti", [2270, -150]);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, 2400]);
mcEndNote._x = 2500;
_root.lastRampX = 2000;
landX = 1650;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 5 :
_local13 = 1800;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("fire", [1300, -420]);
_local20 = new as.Prop("bus", [900, 0]);
_local19 = new as.Prop("cacti", [1300, 0]);
_local18 = new as.Prop("bigWheel", [1600, 0]);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
checkPass = function () {
if (motor.centX > 1600) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bThroughFire) {
_root.stWin();
} else {
_root.stDie();
bAlarmFire = true;
}
}
};
break;
case 6 :
_local13 = 2600;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("bus", [1000, 0]);
_local20 = new as.Prop("bus", [1400, 0]);
_local19 = new as.Prop("balloon", [1200, -600]);
_local18 = new as.Prop("spike", [1800, 0]);
aProp.push(_local21);
aProp.push(_local20);
aProp.push(_local19);
aProp.push(_local18);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
_root.lastRampX2 = _local13 + _root.drawLen2;
checkPass = function () {
if (_root.balloonNum == 1) {
_root.bKeyed = true;
}
if (motor.centX > 1800) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bKeyed) {
_root.stWin();
} else {
_root.stDie();
bAlarmBalloon = true;
}
}
};
break;
case 7 :
_local13 = 1350;
_root.aDrawArea.push([_local13, _local13 + 850]);
var _local12 = 2680;
_root.aDrawArea.push([_local12, _local12 + _root.drawLen2]);
_local21 = new as.Prop("cacti", [1000, 0]);
_local20 = new as.Prop("cacti", [1200, 0]);
_local19 = new as.Prop("bus", [2300, 0]);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
creatMcAlarm([_local13 + 850, _local12]);
mcEndNote._x = _local12 + _root.drawLen2;
_root.lastRampX = _local12;
landX = 2600;
checkPass = function () {
if (motor.centX > 1200) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 8 :
_local21 = new as.Prop("bus", [950, 0]);
_local20 = new as.Prop("cacti", [1400, 0]);
_local19 = new as.Prop("cacti", [1600, 0]);
_local18 = new as.Prop("landGoal", [2100, 0]);
var _local17 = new as.Prop("cacti", [2600, 0]);
var _local16 = new as.Prop("cacti", [2800, 0]);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, 1800]);
creatMcAlarm([2500, 2900]);
mcEndNote._x = 3000;
_root.lastRampX = 2100;
checkPass = function () {
if (motor.centX > 2100) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bLandGoal) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 9 :
_local13 = 2200;
_root.aDrawArea.push([_local13, _local13 + 600]);
_local21 = new as.Prop("popo", [950, 0]);
_local20 = new as.Prop("cacti", [1250, 0]);
_local19 = new as.Prop("popo", [1550, 0]);
_local18 = new as.Prop("fastPlat", [2000, 0]);
_local17 = new as.Prop("landGoal", [3100, -500]);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
creatMcAlarm([_local13 + 600, 3400]);
mcEndNote._x = 3500;
_root.lastRampX = _local13 + 600;
landX = 2900;
checkPass = function () {
if (motor.centX > 2000) {
_root.setLowDamp();
_root.setHighG();
}
if (_root.bLandSafely) {
if (_root.bLandGoal) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
} else {
_root.stDie();
}
}
};
break;
case 10 :
_local21 = new as.Prop("balloon", [1100, -550]);
_local20 = new as.Prop("balloon", [1300, -600]);
_local19 = new as.Prop("balloon", [1500, -550]);
_local18 = new as.Prop("spike", [1800, 0]);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, 2600]);
mcEndNote._x = 2700;
_root.lastRampX = 1800;
checkPass = function () {
if (_root.balloonNum == 3) {
_root.bKeyed = true;
}
if (motor.centX > 1800) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.balloonNum == 3) {
_root.stWin();
} else {
_root.stDie();
bAlarmBalloon = true;
}
}
};
break;
case 11 :
_local13 = 1380;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("bomb", [1300, -620]);
_local20 = new as.Prop("bomb", [1300, -570]);
_local19 = new as.Prop("bomb", [1300, -520]);
_local18 = new as.Prop("bomb", [1300, -350]);
_local17 = new as.Prop("bomb", [1300, -300]);
_local16 = new as.Prop("bigWheel", [1000, 0]);
var _local15 = new as.Prop("cacti", [1300, 0]);
aProp.push(_local15);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = 1300;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 12 :
_local13 = 2550;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("bigWheel", [1000, 0]);
_local20 = new as.Prop("cacti", [1200, 0]);
_local19 = new as.Prop("cacti", [1400, 0]);
_local18 = new as.Prop("cacti", [1600, 0]);
_local17 = new as.Prop("cacti", [1800, 0]);
_local16 = new as.Prop("cacti", [2000, 0]);
_local15 = new as.Prop("cacti", [2200, 0]);
var _local14 = new as.Prop("bigWheel", [2400, 0]);
aProp.push(_local14);
aProp.push(_local15);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = _local13;
checkPass = function () {
if (motor.centX > 2000) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 13 :
_local21 = new as.Prop("bomb", [1300, -450]);
_local20 = new as.Prop("bomb", [1300, -400]);
_local19 = new as.Prop("bomb", [1300, -350]);
_local18 = new as.Prop("bomb", [1300, -300]);
_local17 = new as.Prop("bigWheel", [1000, 0]);
_local16 = new as.Prop("bigWheel", [1300, 0]);
_local15 = new as.Prop("bigWheel", [1600, 0]);
_local14 = new as.Prop("landGoal", [2000, 0]);
aProp.push(_local14);
aProp.push(_local15);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, 2300]);
mcEndNote._x = 2400;
_root.lastRampX = 2000;
landX = 1300;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bLandGoal) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 14 :
_local13 = 2050;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("fire", [1300, -450]);
_local20 = new as.Prop("fire", [1600, -450]);
_local19 = new as.Prop("cacti", [1000, 0]);
_local18 = new as.Prop("cacti", [1300, 0]);
_local17 = new as.Prop("cacti", [1600, 0]);
_local16 = new as.Prop("cacti", [1900, 0]);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
checkPass = function () {
if (motor.centX > 1600) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bThroughFire) {
_root.stWin();
} else {
_root.stDie();
bAlarmFire = true;
}
}
};
break;
case 15 :
_local13 = 1300;
_root.aDrawArea.push([_local13, _local13 + 500]);
_local12 = 2250;
_root.aDrawArea.push([_local12, _local12 + _root.drawLen2]);
_local21 = new as.Prop("fastPlat", [1100, 0]);
_local20 = new as.Prop("building", [1900, 0]);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
creatMcAlarm([_local13 + 500, _local12]);
mcEndNote._x = _local12 + _root.drawLen2;
_root.lastRampX = _local12;
landX = 1900;
_root.bJumpHighLevel = true;
checkPass = function () {
if (motor.centX > 1800) {
_root.setLowDamp();
_root.setHighG();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 16 :
_local13 = 3800;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("fire", [1500, -500]);
if (!circleTrack) {
circleTrack = new as.CircleTrack([2050, 280], 1);
}
circleTrack.initTrackState();
circleTrack.setCircleTrackPoint();
_local20 = new as.Prop("bigWheel", [3650, 0]);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = (_local13 + _root.drawLen2) - 200;
_root.lastRampX = _local13;
landX = 3780;
checkPass = function () {
if (motor.centX > 3000) {
_root.setLowDamp();
_root.setHighG();
}
if (_root.bLandSafely) {
if (_root.bThroughFire) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
} else {
_root.stDie();
bAlarmFire = true;
}
}
};
break;
case 17 :
_local13 = 1300;
_root.aDrawArea.push([_local13, _local13 + 600]);
_local12 = 3850;
_root.aDrawArea.push([_local12, _local12 + _root.drawLen2]);
_local21 = new as.Prop("fastPlat", [1100, 0]);
_local20 = new as.Prop("balloon", [2200, -700]);
_local19 = new as.Prop("bus", [1950, 0]);
_local18 = new as.Prop("bus", [2350, 0]);
_local17 = new as.Prop("landGoal", [3550, 0]);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
creatMcAlarm([_local13 + 600, _local12]);
mcEndNote._x = 3950;
_root.lastRampX = 3550;
landX = 3350;
_root.bJumpHighLevel = true;
checkPass = function () {
if (motor.centX > 1300) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.balloonNum == 1) {
if (_root.bLandGoal) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
} else {
_root.stDie();
}
} else {
_root.stDie();
bAlarmBalloon = true;
}
}
};
break;
case 18 :
_local13 = 2600;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
_local21 = new as.Prop("cacti", [1000, 0]);
_local20 = new as.Prop("bus", [1100, 0]);
_local19 = new as.Prop("bus", [1400, 0]);
_local18 = new as.Prop("bus", [1700, 0]);
_local17 = new as.Prop("bus", [2000, 0]);
_local16 = new as.Prop("cacti", [2400, 0]);
_local15 = new as.Prop("fire", [1850, -500]);
aProp.push(_local15);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = _local13;
checkPass = function () {
if (motor.centX > 2000) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (_root.bThroughFire) {
_root.stWin();
} else {
_root.stDie();
bAlarmFire = true;
}
}
};
break;
case 19 :
_local13 = 2200;
_root.aDrawArea.push([_local13, _local13 + 500]);
_local12 = 3150;
_root.aDrawArea.push([_local12, (_local12 + _root.drawLen2) + 500]);
_local21 = new as.Prop("popo", [1000, 0]);
_local20 = new as.Prop("popo", [1200, 0]);
_local19 = new as.Prop("popo", [1400, 0]);
_local18 = new as.Prop("popo", [1600, 0]);
_local17 = new as.Prop("normalPlat", [2000, 0]);
_local16 = new as.Prop("building", [2800, 0]);
aProp.push(_local16);
aProp.push(_local17);
aProp.push(_local18);
aProp.push(_local19);
aProp.push(_local20);
aProp.push(_local21);
creatMcAlarm([_root.drawX2, _local13]);
creatMcAlarm([_local13 + 500, _local12]);
mcEndNote._x = (_local12 + _root.drawLen2) + 500;
_root.lastRampX = _local12;
landX = 2800;
_root.bJumpHighLevel = true;
checkPass = function () {
if (motor.centX > 2300) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
break;
case 20 :
_local13 = 2580;
_root.aDrawArea.push([_local13, _local13 + _root.drawLen2]);
var _local8 = ["F", "R", "E", "E", "W", "O", "R", "L", "D", "G", "R", "O", "U", "P"];
var _local7 = 920;
var _local11 = _root.landY - 45;
var _local10 = 122;
var _local9 = _local8.length;
var _local4 = 0;
while (_local4 < _local9) {
var _local5 = _local8[_local4];
var _local3 = atMc2(this, "mcWord" + _local5);
_local3.setType(_local5);
_local3.setCoord(_local7, _local11);
var _local6 = 180;
_local3._xscale = _local6;
_local3._yscale = _local6;
_local7 = _local7 + _local10;
aProp.push(_local3);
_local4++;
}
creatMcAlarm([_root.drawX2, _local13]);
mcEndNote._x = _local13 + _root.drawLen2;
_root.lastRampX = _local13;
landX = 1450;
checkPass = function () {
if (motor.centX > landX) {
_root.setLowDamp();
}
if (_root.bLandSafely) {
if (motor.centX > landX) {
_root.stWin();
} else {
_root.stDie();
}
}
};
}
}
function onEnterFrame() {
mcDraw.autoStopDraw();
_root.mouseSolve();
checkPass();
_root.mcLayout.mcMap.solve();
}
aProp = new Array();
createStartTrack();
createLevel();
_root.createLand();
bExtNoted = false;
bAlarmBalloon = false;
bAlarmFire = false;
bShowMission = true;
bShowReplay = false;
if ((_root.nLevel % 2) == 0) {
_root.life = _root.life + 1;
}
levelInit();
Symbol 724 MovieClip [mcAlarm] Frame 1
#initclip 43
Object.registerClass("mcAlarm", as.AlarmMc);
#endinitclip
Symbol 728 Button
on (release) {
_root.nextLevel();
}
Symbol 730 Button
on (release) {
_root.backToFrontPage([_root.mcPass]);
}
Symbol 744 MovieClip Frame 1
if (_root.landType == "perfect") {
this._visible = true;
} else {
this._visible = false;
}
Symbol 745 MovieClip [mcPass] Frame 10
stop();
Symbol 770 MovieClip Frame 10
this.removeMovieClip();
Symbol 788 Button
on (release) {
_root.backToFrontPage([_root.mcEnd]);
}
Symbol 791 MovieClip Frame 1
function addFlake() {
var _local3 = mcHolder.getNextHighestDepth();
var _local1 = mcHolder.attachMovie("mcFlake", "mcFlake" + _local3, _local3);
_local1._x = ((Math.random() * (range / 2)) - (Math.random() * (range / 2))) + centX;
_local1._y = centY;
_local1.roStep = Math.random() * roStep;
_local1.speed = initSpeed + (Math.random() * speedRange);
var _local2 = ((_local1.speed / initSpeed) * 100) * globalScale;
_local1._xscale = _local2;
_local1._yscale = _local2;
if (nDir == 1) {
_local1.windPower = windPower;
} else if (nDir == 2) {
_local1.windPower = (Math.random() * windPower) - (Math.random() * windPower);
}
}
function stopLoad() {
clearInterval(loadInter);
}
function onEnterFrame() {
for (var _local2 in mcHolder) {
var _local1 = mcHolder[_local2];
_local1._y = _local1._y + _local1.speed;
_local1._x = _local1._x + _local1.windPower;
_local1._rotation = _local1._rotation + _local1.roStep;
if (_local1._y > Stage.height) {
_local1.removeMovieClip();
}
if (_local1._x > Stage.width) {
_local1.removeMovieClip();
}
if (_local1._y < 0) {
_local1.removeMovieClip();
}
}
}
nDir = 2;
loadTime = 150;
centX = 400;
centY = 0;
range = 100;
initSpeed = 3;
speedRange = 15;
g = 0;
windPower = 10;
roStep = 5;
globalScale = 0.2;
var depth = this.getNextHighestDepth();
mcHolder = this.createEmptyMovieClip("mcHolder", depth);
clearInterval(loadInter);
loadInter = setInterval(this, "addFlake", loadTime);
Instance of Symbol 110 MovieClip in Symbol 794 MovieClip [mcEnd] Frame 1
//component parameters
onClipEvent (construct) {
_game_name = "stunt_bike_draw_2";
score_var = "_root.score";
}
Symbol 833 MovieClip Frame 10
this.removeMovieClip();
Symbol 838 Button
on (release) {
_root.continueGame();
}
Symbol 842 Button
on (release) {
_root.backToFrontPage([_root.mcOver]);
}
Instance of Symbol 110 MovieClip in Symbol 845 MovieClip [mcOver] Frame 1
//component parameters
onClipEvent (construct) {
_game_name = "stunt_bike_draw_2";
score_var = "_root.score";
}
Symbol 850 Button
on (release) {
_root.backToFrontPage([_root.mcCredits]);
}
Symbol 854 Button
on (release) {
_root.playNoramlGame([_root.mcChoosePlay]);
}
Symbol 855 Button
on (release) {
_root.backToFrontPage(_root.mcChoosePlay);
}
Symbol 873 MovieClip Frame 9
stop();
Symbol 874 MovieClip Frame 1
stop();
Symbol 901 MovieClip Frame 1
stop();
Symbol 901 MovieClip Frame 2
stop();
Symbol 903 MovieClip Frame 1
stop();
Symbol 903 MovieClip Frame 2
stop();
Symbol 905 MovieClip Frame 1
stop();
Symbol 905 MovieClip Frame 2
stop();
Symbol 907 MovieClip Frame 1
if (!_parent.flash_start) {
gotoAndStop (10);
}
Symbol 907 MovieClip Frame 10
stop();
Symbol 908 MovieClip Frame 9
stop();
_parent.flash_start = true;
Symbol 910 MovieClip Frame 1
stop();
Symbol 910 MovieClip Frame 2
stop();
Symbol 911 MovieClip Frame 1
stop();
Symbol 911 MovieClip Frame 2
stop();
Symbol 912 MovieClip Frame 1
stop();
Symbol 912 MovieClip Frame 2
stop();
Symbol 913 MovieClip Frame 1
stop();
Symbol 913 MovieClip Frame 2
stop();
Symbol 914 MovieClip Frame 1
stop();
Symbol 914 MovieClip Frame 10
function quality_init() {
switch (_quality) {
case "LOW" :
bt4.gotoAndStop(2);
return;
case "MEDIUM" :
bt3.gotoAndStop(2);
return;
case "HIGH" :
bt2.gotoAndStop(2);
return;
case "BEST" :
bt1.gotoAndStop(2);
}
}
function bt_init() {
bt1.gotoAndStop(1);
bt2.gotoAndStop(1);
bt3.gotoAndStop(1);
bt4.gotoAndStop(1);
}
stop();
_root.pauseGame();
quality_init();
bt1.bt.onPress = function () {
bt_init();
_quality = "BEST";
quality_init();
bt1.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt2.bt.onPress = function () {
bt_init();
_quality = "HIGH";
quality_init();
bt2.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt3.bt.onPress = function () {
bt_init();
_quality = "MEDIUM";
quality_init();
bt3.gotoAndStop(2);
_root.bCustomQuality = true;
};
bt4.bt.onPress = function () {
bt_init();
_quality = "LOW";
quality_init();
bt4.gotoAndStop(2);
_root.bCustomQuality = true;
};
Symbol 914 MovieClip Frame 18
_root.activeGame();
Symbol 915 MovieClip Frame 1
hit = false;
opend = false;
onEnterFrame = function () {
dcHitMenu();
dcMenu();
};
dcHitMenu = function () {
var _local2 = btQuality.hitTest(_root._xmouse, _root._ymouse, false);
if (_local2) {
hit = true;
} else {
hit = false;
}
};
dcMenu = function () {
if (hit && (!opend)) {
qualityMenu.gotoAndPlay(1);
btQuality.gotoAndStop(2);
opend = true;
}
if (!hit) {
if (opend) {
qualityMenu.gotoAndPlay(11);
opend = false;
}
btQuality.gotoAndStop(1);
}
};
if (!_root.bMusicOn) {
btMusic.gotoAndStop(2);
}
if (!_root.bSoundOn) {
btSound.gotoAndStop(2);
}
btMusic.onPress = function () {
btMusic.play();
_root.bMusicOn = !_root.bMusicOn;
_root.initMusic();
};
btSound.onPress = function () {
btSound.play();
_root.bSoundOn = !_root.bSoundOn;
_root.initSD();
};
Instance of Symbol 901 MovieClip "btMusic" in Symbol 915 MovieClip Frame 1
on (release) {
_root.setMusic(this);
}
Instance of Symbol 903 MovieClip "btSound" in Symbol 915 MovieClip Frame 1
on (release) {
_root.setSound(this);
}
Symbol 916 Button
on (release) {
_root.backToFrontPage([_root.mcInstructions]);
}
Symbol 920 Button
on (release) {
_root.playNoramlGame([_root.mcInstructions]);
}
Symbol 928 Button
on (release) {
_root.startGame();
}
Symbol 942 Button
on (release) {
_root.clearTrack();
}
Symbol 945 Button
on (release) {
_root.showMissionNote();
}
Symbol 986 MovieClip Frame 1
_visible = false;
Symbol 987 MovieClip Frame 1
function addSmoke() {
var _local6 = this._parent;
var _local2 = _local6._parent;
var _local5 = _local2.getNextHighestDepth();
var _local4 = _local2.attachMovie("mcSmoke", "mcSmoke" + _local5, _local5);
var _local3 = convert2McCoord(_local6, _local2, this._x, this._y);
_local4._x = _local3.x;
_local4._y = _local3.y;
}
function convert2McCoord(_mc1, _mc2, _xx, _yy) {
var _local1 = {x:_xx, y:_yy};
_mc1.localToGlobal(_local1);
_mc2._parent.globalToLocal(_local1);
return(_local1);
}
clearInterval(smokeInter);
var smokeInter = setInterval(this, "addSmoke", 150);
Symbol 989 MovieClip Frame 75
stop();
Symbol 990 MovieClip Frame 676
_parent.gotoAndStop("mode2");
Symbol 1005 MovieClip Frame 1
var initFrame = Math.floor((Math.random() * 220) + 1);
mcEye1.gotoAndPlay(initFrame);
mcEye2.gotoAndPlay(initFrame);
Symbol 1018 MovieClip Frame 80
stop();
Symbol 1019 MovieClip Frame 1
stop();
Symbol 1044 MovieClip Frame 100
stop();
Symbol 1045 MovieClip Frame 515
_parent.gotoAndStop("mode1");
Symbol 1046 MovieClip [mcInstructions] Frame 1
stop();
Symbol 1046 MovieClip [mcInstructions] Frame 10
stop();
Symbol 1075 MovieClip Frame 1
stop();
Symbol 1151 MovieClip Frame 85
_root.nextFrame();
Symbol 1152 Button
on (release) {
getURL ("http://www.freeworldgroup.com/", "_blank");
}