Frame 1
_root.urlNum = 0;
stop();
Instance of Symbol 18 MovieClip in Frame 1
onClipEvent (load) {
var numPercentage = 0;
var numMaxWidth = this.mcStripe._width;
}
onClipEvent (enterFrame) {
if ((_parent.getBytesLoaded() > 1) && (_parent.getBytesTotal() > 1)) {
numPercentage = Math.floor((100 * _parent.getBytesLoaded()) / _parent.getBytesTotal());
this.mcStripe._width = (numPercentage * numMaxWidth) / 100;
this.txtPercentage = String(numPercentage) + "%";
if (numPercentage >= 100) {
_parent.gotoAndStop("lbStart");
}
}
}
Symbol 1 MovieClip [dmSoundService] Frame 1
#initclip 31
Object.registerClass("dmSoundService", CSoundService);
#endinitclip
Symbol 3 MovieClip [water] Frame 1
#initclip 28
Object.registerClass("water", myWater);
#endinitclip
Symbol 5 MovieClip [bonusHit] Frame 1
#initclip 29
Object.registerClass("bonusHit", CInvisibleMovie);
#endinitclip
Symbol 10 MovieClip [NitroBonus] Frame 1
#initclip 30
Object.registerClass("NitroBonus", myNitro);
#endinitclip
stop();
Symbol 10 MovieClip [NitroBonus] Frame 6
stop();
Symbol 24 Button
on (release) {
getURL ("http://www.myrealgames.com/?utm_source=NuclearBike2&utm_medium=flash_moregames", "_blank");
}
Symbol 27 Button
on (release) {
getURL ("http://www.myrealgames.com/?utm_source=NuclearBike2&utm_medium=flash_moregames", "_blank");
}
Symbol 410 MovieClip [__Packages.MyBonus] Frame 0
class MyBonus extends MovieClip
{
static var numBonus, collectBonus;
var gotoAndPlay;
function MyBonus () {
super();
bonusListArr.push(this);
init();
}
function init() {
numBonus++;
}
static function testBonus(m) {
var _local1 = 0;
while (_local1 < bonusListArr.length) {
bonusListArr[_local1].myHitTest(m.m_forwardWheel, m.m_backWheel, m, _local1);
_local1++;
}
}
function myHitTest(fw, bw, m, n) {
if (m.getBodyMovieClip().hitTest(this)) {
CSoundService.playSound(CConstants.SND_BONUS, false, 1);
collectBonus++;
if (collectBonus >= numBonus) {
CGame.__set__collectAllBonus(true);
}
CGame.bonusScore = CGame.bonusScore + 100;
gotoAndPlay(2);
bonusListArr[n] = null;
}
}
function result() {
}
static var minXbonus = 0;
static var bonusListArr = [];
}
Symbol 411 MovieClip [__Packages.CBike] Frame 0
class CBike
{
var m_bikeDir, m_bikeNormal, delayCounter, m_afterJerk, m_engine, m_bikeMovie, m_backWheel, m_forwardWheel, p_ld, p_rd, m_point90, m_point270, m_prevBikeAgle, m_bikeAgle, wheelyCounter;
function CBike () {
m_bikeDir = new CVector2D(0, 0);
m_bikeNormal = new CVector2D(0, 0);
delayCounter = 0;
m_afterJerk = 0;
}
function initWehicle(level, posX, posY) {
var _local4 = level.getEngine();
var _local3 = level.getVehiclePlace();
m_engine = _local4;
var _local2;
if (CGame.bike2) {
m_bikeMovie = _local3.attachMovie("idBike2", "_Bike", 170);
CConstants.ACCELERATE_BIKE = 65;
} else {
m_bikeMovie = _local3.attachMovie("idBike", "_Bike", 170);
CConstants.ACCELERATE_BIKE = 55;
}
m_bikeMovie._x = posX;
m_bikeMovie._y = posY;
CConstants.bikeBaseParam.changeGeometry(getBikePoint(m_bikeMovie.mc.mc_p_wl), getBikePoint(m_bikeMovie.mc.mc_p_ld), getBikePoint(m_bikeMovie.mc.mc_p_rd), getBikePoint(m_bikeMovie.mc.mc_p_wr));
_local2 = _local3.attachMovie("idMotoWhellBack", "_MotoWhellBack", 150);
CConstants.bikeBaseParam.__get__A().setMovie(_local2);
CWheel(CConstants.bikeBaseParam.__get__A()).setRotationMovie(_local2.mcSpoke);
_local2 = _local3.attachMovie("idMotoWhellForward", "_MotoWhellForward", 160);
CConstants.bikeBaseParam.__get__D().setMovie(_local2);
CWheel(CConstants.bikeBaseParam.__get__D()).setRotationMovie(_local2.mcSpoke);
CConstants.bikeBaseParam.addToEngine(_local4);
m_backWheel = CWheel(CConstants.bikeBaseParam.__get__A());
m_forwardWheel = CWheel(CConstants.bikeBaseParam.__get__D());
p_ld = CConstants.bikeBaseParam.B;
p_rd = CConstants.bikeBaseParam.C;
}
function getBikePoint(mc) {
var _local2 = new Object();
_local2.x = mc._x;
_local2.y = mc._y;
mc._parent.localToGlobal(_local2);
m_bikeMovie._parent.globalToLocal(_local2);
return(_local2);
}
function playAccelerateSound() {
CSoundService.stopSound(CConstants.SND_ENGINE2);
CSoundService.playSound(CConstants.SND_ENGINE2, false, 1);
CSoundService.getSoundAt(CConstants.SND_ENGINE3).setVolume(100);
}
function stopAccelerateSound() {
CSoundService.getSoundAt(CConstants.SND_ENGINE3).setVolume(40);
}
function resetFlipPoint() {
m_point90 = (m_point270 = 0);
}
function processFlipPoint() {
if ((m_bikeAgle * m_prevBikeAgle) < 0) {
return(undefined);
}
if ((m_bikeAgle > TRICK_ANGLE) && (m_prevBikeAgle < TRICK_ANGLE)) {
m_point90++;
} else if ((m_bikeAgle < TRICK_ANGLE) && (m_prevBikeAgle > TRICK_ANGLE)) {
m_point90--;
} else if ((m_bikeAgle > (-TRICK_ANGLE)) && (m_prevBikeAgle < (-TRICK_ANGLE))) {
m_point270++;
} else if ((m_bikeAgle < (-TRICK_ANGLE)) && (m_prevBikeAgle > (-TRICK_ANGLE))) {
m_point270--;
}
if (m_point270 > 0) {
CRaceEngine.makeTrick(TRICK_FRONT_FLIP, 700);
resetFlipPoint();
} else if (m_point90 < 0) {
CRaceEngine.makeTrick(TRICK_BACK_FLIP, 400);
resetFlipPoint();
}
}
function accelerate() {
m_backWheel.setAccelerate(CConstants.ACCELERATE_BIKE);
}
function nitroAcss() {
m_backWheel.setAccelerate((m_backWheel.getAccelerate() * 1.5) + 30);
}
function brake() {
m_backWheel.setAccelerate(-CConstants.ACCELERATE_BIKE);
}
function stopAccelerate() {
m_backWheel.setAccelerate(0);
}
function processKeys(keyState) {
if (keyState.checkMask(KM_ACCELERATE)) {
accelerate();
if (!keyState.checkPrevStateMask(KM_ACCELERATE)) {
playAccelerateSound();
keyState.addMask(KM_ACCELERATE);
}
} else if (keyState.checkMask(KM_BRAKE)) {
brake();
} else {
stopAccelerate();
stopAccelerateSound();
}
m_bikeMovie.mc.mc_man.processKeys(keyState);
m_afterJerk++;
if (keyState.checkMask(KM_MOVE_BODY_FORWARD)) {
if (((m_afterJerk > 10) && (delayCounter > 0)) && (delayCounter < 5)) {
Upp(DIR_RIGHT);
m_afterJerk = 0;
} else {
turnTo(DIR_RIGHT);
}
} else if (keyState.checkMask(KM_MOVE_BODY_BACK)) {
if (((m_afterJerk > 10) && (delayCounter < 0)) && (delayCounter > -5)) {
Upp(DIR_LEFT);
m_afterJerk = 0;
} else {
turnTo(DIR_LEFT);
}
}
if ((!keyState.checkMask(KM_MOVE_BODY_FORWARD)) && (keyState.checkPrevStateMask(KM_MOVE_BODY_FORWARD))) {
delayCounter++;
} else if ((!keyState.checkMask(KM_MOVE_BODY_BACK)) && (keyState.checkPrevStateMask(KM_MOVE_BODY_BACK))) {
delayCounter--;
} else {
delayCounter = 0;
}
}
function Upp(dir) {
m_bikeNormal.init(m_bikeDir.x, m_bikeDir.y);
m_bikeNormal.normalize();
var _local7;
_local7 = m_bikeNormal.x;
m_bikeNormal.x = -m_bikeNormal.y;
m_bikeNormal.y = _local7;
var _local5 = 0.6;
var _local6 = 3.3;
var _local2 = (Math.abs(m_bikeNormal.y) * (1 - _local5)) + _local5;
_local2 = _local2 * _local6;
var _local4 = (m_bikeNormal.x * 9.8) * _local2;
var _local3 = (m_bikeNormal.y * 9.8) * _local2;
if (m_bikeNormal.y > -0.4) {
if (dir == DIR_LEFT) {
m_forwardWheel.__get__accelerate().plusXY((-_local4) * 10, (-_local3) * 10);
} else {
m_backWheel.__get__accelerate().plusXY((-_local4) * 10, (-_local3) * 10);
}
}
}
function onGround() {
return(m_backWheel.hasIntersection() || (m_forwardWheel.hasIntersection()));
}
function process() {
CSoundService.playSound(CConstants.SND_ENGINE3, true, 999);
var _local3;
var _local2;
m_bikeDir.init(m_forwardWheel.__get__pos().x - m_backWheel.__get__pos().x, m_forwardWheel.__get__pos().y - m_backWheel.__get__pos().y);
m_prevBikeAgle = m_bikeAgle;
m_bikeAgle = (Math.atan2(m_bikeDir.y, m_bikeDir.x) * 180) / Math.PI;
m_bikeMovie._rotation = m_bikeAgle;
_local3 = new CVector2D(m_bikeMovie.mc.mc_p_ld._x, m_bikeMovie.mc.mc_p_ld._y);
_local2 = new CVector2D(m_bikeMovie.mc.mc_p_rd._x, m_bikeMovie.mc.mc_p_rd._y);
m_bikeMovie.mc.localToGlobal(_local3);
m_bikeMovie._parent.globalToLocal(_local3);
m_bikeMovie.mc.localToGlobal(_local2);
m_bikeMovie._parent.globalToLocal(_local2);
m_bikeMovie._x = m_bikeMovie._x + ((((p_ld.__get__pos().x - _local3.x) + p_rd.__get__pos().x) - _local2.x) / 2);
m_bikeMovie._y = m_bikeMovie._y + ((((p_ld.__get__pos().y - _local3.y) + p_rd.__get__pos().y) - _local2.y) / 2);
moveMovieToMovieGlobal(m_backWheel.getMovie(), m_bikeMovie.mc.bike.mc_back_spring);
rotateMovieToMovieLocal(m_bikeMovie.mc.bike.mc_back_spring, m_bikeMovie.mc.bike.mc_Dir);
if (onGround()) {
resetFlipPoint();
} else {
processFlipPoint();
}
if (m_forwardWheel.hasIntersection()) {
if (wheelyCounter > 25) {
CRaceEngine.makeTrick(TRICK_WHEELY, wheelyCounter * 5);
}
wheelyCounter = 0;
} else if (m_backWheel.hasIntersection()) {
wheelyCounter++;
}
m_forwardWheel.WeelStateTimer();
m_backWheel.WeelStateTimer();
}
function moveMovieToMovieGlobal(movie, moviePos) {
var _local1 = {x:movie._x, y:movie._y};
movie._parent.localToGlobal(_local1);
moviePos._parent.globalToLocal(_local1);
moviePos._x = _local1.x;
moviePos._y = _local1.y;
}
function rotateMovieToMovieLocal(movie, moviePos) {
movie._rotation = (Math.atan2(moviePos._y - movie._y, moviePos._x - movie._x) * 180) / Math.PI;
}
function turnTo(dir) {
m_bikeNormal.init(m_bikeDir.x, m_bikeDir.y);
m_bikeNormal.normalize();
var _local7;
_local7 = m_bikeNormal.x;
m_bikeNormal.x = -m_bikeNormal.y;
m_bikeNormal.y = _local7;
var _local5 = 0.6;
var _local6 = 7;
var _local4 = (Math.abs(m_bikeNormal.y) * (1 - _local5)) + _local5;
_local4 = _local4 * _local6;
var _local3 = (m_bikeNormal.x * 5) * _local4;
var _local2 = (m_bikeNormal.y * 5) * _local4;
if (m_bikeNormal.y > -0.4) {
if (dir == DIR_RIGHT) {
if (!m_forwardWheel.hasIntersection()) {
m_forwardWheel.__get__accelerate().plusXY(_local3 * 1.3, _local2 * 1.3);
}
m_backWheel.__get__accelerate().plusXY((-_local3) * 0.7, (-_local2) * 0.7);
} else {
m_forwardWheel.__get__accelerate().plusXY((-_local3) * 0.7, (-_local2) * 0.7);
if (!m_backWheel.hasIntersection()) {
m_backWheel.__get__accelerate().plusXY(_local3 * 1.3, _local2 * 1.3);
}
}
}
}
function checkPointVsMovie(point, movie) {
var _local1 = {x:point._x, y:point._y};
point._parent.localToGlobal(_local1);
return(movie.hitTest(_local1.x, _local1.y, true));
}
function checkDeathPoint(hitPlace1) {
var _local2 = m_engine.getHitMovie();
return((checkPointVsMovie(m_bikeMovie.mcDeathPoint1, _local2) || (checkPointVsMovie(m_bikeMovie.mcDeathPoint2, _local2))) || (checkPointVsMovie(m_bikeMovie.mcDeathPoint3, _local2)));
}
function getBodyMovieClip() {
return(m_bikeMovie);
}
function getMan() {
return(m_bikeMovie.mc.mc_man);
}
function show(visible) {
m_bikeMovie._visible = visible;
m_backWheel.getMovie()._visible = visible;
m_forwardWheel.getMovie()._visible = visible;
}
static var KM_NONE = 0;
static var KM_ACCELERATE = 1;
static var KM_BRAKE = 2;
static var KM_MOVE_BODY_FORWARD = 4;
static var KM_MOVE_BODY_BACK = 8;
static var KM_SPURT_FORWARD = 256;
static var KM_SPURT_BACK = 512;
static var DIR_RIGHT = 0;
static var DIR_LEFT = 1;
static var TRICK_BACK_FLIP = 1;
static var TRICK_FRONT_FLIP = 2;
static var TRICK_WHEELY = 3;
static var TRICK_ANGLE = 170;
}
Symbol 412 MovieClip [__Packages.CParticle] Frame 0
class CParticle
{
var m_curPosition, m_prevPosition, m_accelerate, m_buckup, m_mass, m_mc;
function CParticle () {
m_curPosition = new CVector2D();
m_prevPosition = new CVector2D();
m_accelerate = new CVector2D();
m_buckup = new CVector2D();
}
function initParticle(x, y, mass, mc) {
if (x == undefined) {
x = 0;
}
if (y == undefined) {
y = 0;
}
if (mass == undefined) {
mass = 1;
}
moveTo(x, y);
m_mass = mass;
m_accelerate.x = 0;
m_accelerate.y = 0;
setMovie(mc);
return(this);
}
function moveTo(nx, ny) {
m_curPosition.x = (m_prevPosition.x = nx);
m_curPosition.y = (m_prevPosition.y = ny);
}
function verlet(dTime, koeffDamp) {
m_buckup.copyFrom(m_curPosition);
m_curPosition.x = m_curPosition.x + (((m_curPosition.x - m_prevPosition.x) * koeffDamp) + (m_accelerate.x * dTime));
m_curPosition.y = m_curPosition.y + (((m_curPosition.y - m_prevPosition.y) * koeffDamp) + (m_accelerate.y * dTime));
m_buckup.copyTo(m_prevPosition);
synchronizeMovie();
}
function checkCollision(hitMovie) {
}
function synchronizeMovie() {
}
function moveMovieToCurentPosition() {
m_mc._x = m_curPosition.x;
m_mc._y = m_curPosition.y;
}
function get mass() {
return(m_mass);
}
function set mass(nMass) {
m_mass = nMass;
//return(mass);
}
function get accelerate() {
return(m_accelerate);
}
function set accelerate(acc) {
m_accelerate = acc;
//return(accelerate);
}
function get prevPos() {
return(m_prevPosition);
}
function set prevPos(pos) {
m_prevPosition = pos;
//return(prevPos);
}
function get pos() {
return(m_curPosition);
}
function set pos(pos) {
m_curPosition = pos;
//return(this.pos);
}
function setMovie(mc) {
if ((mc == null) || (mc == undefined)) {
synchronizeMovie = function () {
};
m_mc = null;
} else {
m_mc = mc;
synchronizeMovie = moveMovieToCurentPosition;
}
}
function getMovie() {
return(m_mc);
}
}
Symbol 413 MovieClip [__Packages.CVector2D] Frame 0
class CVector2D
{
var x, y;
function CVector2D (nx, ny) {
init(nx, ny);
}
function init(nx, ny) {
x = nx;
y = ny;
}
function copyFrom(v) {
x = v.x;
y = v.y;
}
function copyTo(v) {
v.x = x;
v.y = y;
}
function plusXY(nx, ny) {
x = x + nx;
y = y + ny;
}
static function getDistanceBetween(p1, p2) {
var _local2 = p1.x - p2.x;
var _local1 = p1.y - p2.y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
}
function getUgol() {
return(Math.atan2(y, x));
}
function duplicate() {
return(new CVector2D(x, y));
}
function minus(v) {
x = x - v.x;
y = y - v.y;
}
function minusNew(v) {
return(new CVector2D(x - v.x, y - v.y));
}
function normalize() {
var _local2 = Math.sqrt((x * x) + (y * y));
x = x / _local2;
y = y / _local2;
}
function reverseNew() {
return(new CVector2D(-x, -y));
}
function scalar(v) {
return((x * v.x) + (y * v.y));
}
function modul() {
return(Math.sqrt((x * x) + (y * y)));
}
function reflectFromNormal(n) {
var _local2 = Math.atan2(n.y, n.x);
rotate(-_local2);
x = -x;
rotate(_local2);
}
function rotate(u) {
var _local4 = x;
var _local3 = y;
x = (_local4 * Math.cos(u)) - (_local3 * Math.sin(u));
y = (_local4 * Math.sin(u)) + (_local3 * Math.cos(u));
}
function rotateNew(u) {
return(new CVector2D((x * Math.cos(u)) - (y * Math.sin(u)), (x * Math.sin(u)) + (y * Math.cos(u))));
}
function mult(k) {
x = x * k;
y = y * k;
}
function multNew(k) {
return(new CVector2D(x * k, y * k));
}
function plus(v) {
x = x + v.x;
y = y + v.y;
}
function plusNew(v) {
return(new CVector2D(x + v.x, y + v.y));
}
function getDistanceTo(p1, p2) {
var _local3 = p1.y - p2.y;
var _local2 = p2.x - p1.x;
var _local6 = (p1.x * (p2.y - p1.y)) - (p1.y * (p2.x - p1.x));
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local3 = _local3 / _local5;
_local2 = _local2 / _local5;
_local6 = _local6 / _local5;
return(((_local3 * x) + (_local2 * y)) + _local6);
}
function toString() {
return(((("( " + x) + ", ") + y) + " )");
}
}
Symbol 414 MovieClip [__Packages.CWheel] Frame 0
class CWheel extends CParticle
{
var m_rim, m_mc, m_acceleration, initParticle, m_koeffSpring, m_koeffSlip, m_radius, m_maxAccSpeed, m_speed, m_accSpeed, rot, intersectionFlag, lastIntersPoint, lastN, hitPointArray, normalArray, hitArray, intersArray, m_prevPosition, synchronizeMovie, m_curPosition, timerIce, __get__prevPos;
function CWheel () {
super();
}
function setRotationMovie(rotationMovie) {
if ((rotationMovie == undefined) || (rotationMovie == null)) {
rotateMovie = function () {
};
m_rim = null;
} else {
rotateMovie = function () {
this.rot.rotate(this.m_speed / this.m_radius);
this.m_rim._rotation = Math.atan2(this.rot.y, this.rot.x) * CWheel.ANGLE_180_DIV_PI;
};
m_rim = rotationMovie;
m_mc.mcVolna._visible = false;
}
}
function setAccelerate(nAccelerate) {
m_acceleration = nAccelerate;
}
function getAccelerate() {
return(m_acceleration);
}
function initWhile(x, y, mass, rad, maxAccSpeed, mc, rotationMovie, koeffSpring, koeffSlip) {
initParticle(x, y, mass, mc);
if (koeffSpring == undefined) {
koeffSpring = 0.1;
}
if (koeffSlip == undefined) {
koeffSlip = 0.1;
}
m_koeffSpring = koeffSpring;
m_koeffSlip = koeffSlip;
setRotationMovie(rotationMovie);
m_radius = rad;
m_maxAccSpeed = maxAccSpeed;
m_speed = 0;
m_accSpeed = 0;
rot = new CVector2D(1, 0);
intersectionFlag = false;
lastIntersPoint = new CVector2D(0, 0);
lastN = new CVector2D(0, 0);
var _local2;
var _local3 = (Math.PI*2) / m_hitCount;
hitPointArray = new Array(m_hitCount);
normalArray = new Array(m_hitCount);
hitArray = new Array(m_hitCount);
intersArray = new Array();
_local2 = 0;
while (_local2 < m_hitCount) {
hitPointArray[_local2] = new CVector2D(Math.sin(_local3 * _local2) * m_radius, (-Math.cos(_local3 * _local2)) * m_radius);
normalArray[_local2] = hitPointArray[_local2].multNew(-1);
normalArray[_local2].normalize();
_local2++;
}
m_acceleration = 0;
return(this);
}
function verlet(dTime, koeffDamp) {
super.verlet(dTime, koeffDamp);
m_accSpeed = Math.max(-m_maxAccSpeed, Math.min(m_maxAccSpeed, m_accSpeed + (m_acceleration * dTime)));
m_speed = Math.max((-m_maxSpeed) * dTime, Math.min((m_speed * koeffDamp) + m_accSpeed, m_maxSpeed * dTime));
rotateMovie();
}
function rotateMovie() {
}
function checkCollision(hit_mc) {
var _local2;
var _local8;
var _local9 = new CVector2D(0, 0);
var _local13 = false;
var _local5;
var _local7;
var _local15;
var _local16 = new CVector2D(m_prevPosition.x, m_prevPosition.y);
var _local4 = new CVector2D(0, 0);
var _local3 = new CVector2D(0, 0);
var _local14;
synchronizeMovie();
_local14 = 0;
_local2 = 0;
while (_local2 < m_hitCount) {
hitPointArray[_local2].copyTo(_local9);
m_mc.localToGlobal(_local9);
if ((hitArray[_local2] = hit_mc.hitTest(_local9.x, _local9.y, true))) {
_local13 = true;
_local5 = _local2;
_local14++;
}
_local2++;
}
if (_local14 == m_hitCount) {
m_curPosition.x = m_prevPosition.x + ((m_curPosition.x - m_prevPosition.x) * 0.3);
m_curPosition.y = m_prevPosition.y + ((m_curPosition.y - m_prevPosition.y) * 0.3);
synchronizeMovie();
return(undefined);
}
_local2 = 0;
if (_local13) {
while (true) {
_local2++;
if (_local2 == m_hitCount) {
_local2 = 0;
}
if (!hitArray[_local2]) {
_local5 = -1;
_local8 = 0;
while (_local8 < m_hitCount) {
_local2++;
if (_local2 == m_hitCount) {
_local2 = 0;
}
if (_local5 == -1) {
if (hitArray[_local2]) {
_local5 = _local2;
_local4.plus(normalArray[_local2]);
normalArray[_local2].copyTo(_local3);
}
} else if (!hitArray[_local2]) {
_local7 = _local2 - 1;
if (_local7 < 0) {
_local7 = m_hitCount - 1;
}
intersArray.push({k1:_local5, k2:_local7, n:new CVector2D(_local3.x, _local3.y)});
_local5 = -1;
} else {
_local4.plus(normalArray[_local2]);
_local3.plus(normalArray[_local2]);
}
_local8++;
}
break;
}
}
var _local6 = new CVector2D(0, 0);
if (intersArray.length > 0) {
_local4.normalize();
if (intersectionFlag) {
_local4.x = _local4.x + lastN.x;
_local4.y = _local4.y + lastN.y;
_local4.x = _local4.x / 2;
_local4.y = _local4.y / 2;
}
var _local10;
var _local11;
_local15 = intersArray.length;
_local2 = 0;
while (_local2 < _local15) {
_local10 = intersArray.pop();
_local5 = _local10.k1;
_local7 = _local10.k2;
_local10.n.copyTo(_local3);
m_curPosition.minusNew(m_prevPosition).copyTo(_local6);
if (_local4.scalar(_local6) < 0) {
_local11 = Math.atan2(_local4.y, _local4.x);
_local6.rotate(-_local11);
_local6.x = (-_local6.x) * m_koeffSpring;
_local6.rotate(_local11);
pushOut(_local5, _local7, _local3, hit_mc);
m_prevPosition.x = m_curPosition.x - _local6.x;
m_prevPosition.y = m_curPosition.y - _local6.y;
} else {
pushOut(_local5, _local7, _local3, hit_mc);
}
_local2++;
}
validateRotation(_local4, _local16);
intersectionFlag = true;
m_curPosition.copyTo(lastIntersPoint);
_local4.copyTo(lastN);
}
} else if (intersectionFlag) {
validateRotation(lastN, _local16);
intersectionFlag = false;
}
synchronizeMovie();
}
function pushOut(k1, k2, n, hit_mc) {
n.normalize();
if (k1 != k2) {
var _local7 = new CVector2D(0, 0).getDistanceTo(hitPointArray[k1], hitPointArray[k2]);
_local7 = m_radius - Math.abs(_local7);
m_curPosition.plus(n.multNew(_local7));
m_prevPosition.plus(n.multNew(_local7));
} else {
var _local6 = n.multNew(-m_radius);
var _local4 = new CVector2D(0, 0);
var _local5 = 0;
var _local3 = 0.03;
while (true) {
_local6.copyTo(_local4);
m_mc.localToGlobal(_local4);
if (hit_mc.hitTest(_local4.x, _local4.y, true)) {
_local5++;
m_curPosition.x = m_curPosition.x + (n.x * _local3);
m_curPosition.y = m_curPosition.y + (n.y * _local3);
synchronizeMovie();
} else {
_local5--;
m_curPosition.x = m_curPosition.x - (n.x * _local3);
m_curPosition.y = m_curPosition.y - (n.y * _local3);
m_prevPosition.plus(n.multNew(_local3 * _local5));
break;
}
}
}
}
function validateRotation(n, oldPos) {
if ((!intersectionFlag) && (Math.abs(m_accSpeed) > 0.01)) {
if (Math.abs(m_accSpeed) < ((m_maxAccSpeed * 0.02) / 2)) {
m_accSpeed = 0;
} else if (m_accSpeed > 0) {
m_accSpeed = m_maxAccSpeed * 0.02;
} else {
m_accSpeed = (-m_maxAccSpeed) * 0.02;
}
}
var _local3 = new CVector2D(-n.y, n.x);
var _local6 = m_curPosition.minusNew(oldPos);
var _local5 = Math.atan2(_local3.y, _local3.x);
var _local2 = _local6.rotateNew(-_local5);
m_speed = _local2.x + m_accSpeed;
_local2.y = 0;
_local2.rotate(_local5);
var _local4 = 1 - m_koeffSlip;
m_curPosition.x = (m_curPosition.x + ((_local3.x * m_accSpeed) * _local4)) - (m_koeffFriction * _local2.x);
m_curPosition.y = (m_curPosition.y + ((_local3.y * m_accSpeed) * _local4)) - (m_koeffFriction * _local2.y);
m_accSpeed = m_accSpeed * m_koeffSlip;
}
function hasIntersection() {
return(intersectionFlag);
}
function startWater() {
m_koeffFriction = WaterEffect;
m_acceleration = m_acceleration * 0.8;
showSpray();
timerIce = 3;
}
function showSpray() {
var _local2 = Math.min(((__get__prevPos().x - m_curPosition.x) * (__get__prevPos().x - m_curPosition.x)) * 8, 100);
if (_local2 < 20) {
_local2 = 0;
}
m_mc.mcVolna._yscale = _local2;
if ((m_prevPosition.x - m_curPosition.x) < 0) {
m_mc.mcVolna._xscale = _local2;
} else {
m_mc.mcVolna._xscale = -_local2;
}
if (timerIce < 2) {
m_mc.mcVolna._visible = true;
rotateMovie = function () {
this.rot.rotate(this.m_speed / this.m_radius);
this.m_rim._rotation = (Math.atan2(this.rot.y, this.rot.x) * CWheel.ANGLE_180_DIV_PI) * 3;
};
}
}
function WeelStateTimer() {
if (timerIce > 0) {
timerIce--;
if (timerIce == 0) {
m_koeffFriction = 0.03;
timerIce--;
m_mc.mcVolna._visible = false;
rotateMovie = function () {
this.rot.rotate(this.m_speed / this.m_radius);
this.m_rim._rotation = Math.atan2(this.rot.y, this.rot.x) * CWheel.ANGLE_180_DIV_PI;
};
}
}
}
static var m_maxSpeed = 180;
static var m_hitCount = 16;
static var m_koeffFriction = 0.03;
static var ANGLE_180_DIV_PI = 57.2957795130823;
static var WaterEffect = 0.15;
}
Symbol 415 MovieClip [__Packages.CParticleEngine] Frame 0
class CParticleEngine
{
var m_particles, m_constraints, m_hitMovie, m_gravity, m_koeffDamp;
function CParticleEngine (hitMovie, nGravity, koeffDamp) {
m_particles = new Array();
m_constraints = new Array();
setHitMovie(hitMovie);
init(nGravity, koeffDamp);
}
function setHitMovie(hitMovie) {
if (hitMovie == undefined) {
hitMovie = null;
}
m_hitMovie = hitMovie;
}
function getHitMovie() {
return(m_hitMovie);
}
function set gravity(nGravity) {
m_gravity = nGravity;
//return(gravity);
}
function get gravity() {
return(m_gravity);
}
function init(nGravity, koeffDamp) {
if (nGravity == undefined) {
nGravity = 9.8;
}
if (koeffDamp == undefined) {
koeffDamp = 0.995;
}
gravity = (nGravity);
m_koeffDamp = koeffDamp;
}
function addParticle(p) {
m_particles.push(p);
}
function process() {
drawSpringConstraints();
var _local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].accelerate.plusXY(0, m_gravity * m_particles[_local2].mass);
m_particles[_local2].accelerate.mult(1 / REPEAT_COUNT);
_local2++;
}
var _local3 = 0;
while (_local3 < REPEAT_COUNT) {
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].verlet(D_TIME, m_koeffDamp);
_local2++;
}
_local2 = 0;
while (_local2 < m_constraints.length) {
m_constraints[_local2].resolve();
_local2++;
}
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].checkCollision(m_hitMovie);
_local2++;
}
_local3++;
}
_local2 = 0;
while (_local2 < m_particles.length) {
m_particles[_local2].accelerate.init(0, 0);
_local2++;
}
}
function addConstraint(c) {
m_constraints.push(c);
}
function clear() {
while (m_particles.pop() != undefined) {
}
clearConstraints();
}
function clearConstraints() {
while (m_constraints.pop() != undefined) {
}
}
function drawSpringConstraints() {
if (CGameService.__get__DEBUG_MODE()) {
var _local4 = new Object();
var _local3 = new Object();
var _local2 = 0;
while (_local2 < m_constraints.length) {
_local4.x = m_constraints[_local2].m_p1.pos.x;
_local4.y = m_constraints[_local2].m_p1.pos.y;
_local3.x = m_constraints[_local2].m_p2.pos.x;
_local3.y = m_constraints[_local2].m_p2.pos.y;
m_hitMovie.localToGlobal(_local4);
m_hitMovie.localToGlobal(_local3);
CGameService.drawLine(_local4.x, _local4.y, _local3.x, _local3.y, 0.5, 0, 100);
_local2++;
}
}
}
static var SEC_PER_FRAME = 0.0416666666666667;
static var REPEAT_COUNT = 3;
static var D_TIME = SEC_PER_FRAME / REPEAT_COUNT;
}
Symbol 416 MovieClip [__Packages.IConstraint] Frame 0
interface IConstraint
{
}
Symbol 417 MovieClip [__Packages.CGameService] Frame 0
class CGameService
{
static var m_instance;
var m_root, m_debugMode, m_pauseListeners, m_score;
function CGameService (rootPointer, soundsNames) {
m_instance = this;
m_root = rootPointer;
m_debugMode = false;
m_pauseListeners = new CGroup();
m_score = 0;
CSoundService.createSoundService(soundsNames, m_root, 9999);
}
static function get instance() {
return(m_instance);
}
static function get _root() {
return(m_instance.m_root);
}
static function get score() {
return(m_instance.m_score);
}
static function set score(score) {
m_instance.m_score = score;
//return(CGameService.score);
}
static function set pauseOn(pauseState) {
m_instance.m_pauseOn = pauseState;
if (pauseState) {
m_instance.m_pauseListeners.callFunction("enablePause");
} else {
m_instance.m_pauseListeners.callFunction("disablePause");
}
//return(pauseOn);
}
static function get pauseOn() {
return(m_instance.m_pauseOn);
}
static function addPauseListener(obj) {
m_instance.m_pauseListeners.addElement(obj);
}
static function removePauseListener(obj) {
m_instance.m_pauseListeners.removeElement(obj);
}
static function getGlobalXY(pX, pY, movie) {
var _local1 = {x:pX, y:pY};
movie.localToGlobal(_local1);
return(_local1);
}
static function get DEBUG_MODE() {
return(m_instance.m_debugMode);
}
static function set DEBUG_MODE(debugMode) {
m_instance.m_debugMode = debugMode;
if (debugMode) {
m_instance.m_drawArea = m_instance.m_root.createEmptyMovieClip("__drawArea", DEPTH_DRAW_AREA);
} else {
m_instance.m_drawArea.removeMovieClip();
}
//return(DEBUG_MODE);
}
static function drawLine(x1, y1, x2, y2, thickness, rgb, alpha) {
if (m_instance.m_debugMode) {
m_instance.m_drawArea.lineStyle(thickness, rgb, alpha);
m_instance.m_drawArea.moveTo(x1, y1);
m_instance.m_drawArea.lineTo(x2, y2);
}
}
static function clearAll() {
if (m_instance.m_debugMode) {
m_instance.m_drawArea.clear();
}
}
static function numberToStringWith0(val) {
if (val < 10) {
return(String("0" + val.toString()));
}
return(val.toString());
}
static function setFilter(movie, filter) {
var _local1 = new Array();
_local1.push(filter);
movie.filters = _local1;
}
static var DEPTH_DRAW_AREA = 32001;
}
Symbol 418 MovieClip [__Packages.CGroup] Frame 0
class CGroup
{
var m_elements;
function CGroup () {
m_elements = new Array();
}
function addElement(element) {
var _local2 = 0;
while (_local2 < m_elements.length) {
if (m_elements[_local2] == null) {
m_elements[_local2] = element;
return(undefined);
}
_local2++;
}
m_elements.push(element);
}
function removeElement(element) {
var _local2 = m_elements.length - 1;
while (_local2 >= 0) {
if (m_elements[_local2] == element) {
m_elements[_local2] = null;
}
_local2--;
}
}
function getElementAt(elementNum) {
return(m_elements[elementNum]);
}
function removeAllElements() {
var _local2 = m_elements.length - 1;
while (_local2 >= 0) {
m_elements[_local2] = null;
_local2--;
}
}
function callFunction(funcName) {
var _local2 = m_elements.length - 1;
while (_local2 >= 0) {
if (m_elements[_local2] != null) {
m_elements[_local2][funcName]();
}
_local2--;
}
}
function callFunctionParam1(funcName, param1) {
var _local2 = m_elements.length - 1;
while (_local2 >= 0) {
if (m_elements[_local2] != null) {
m_elements[_local2][funcName](param1);
}
_local2--;
}
}
function callFunctionParam2(funcName, param1, param2) {
var _local2 = m_elements.length - 1;
while (_local2 >= 0) {
if (m_elements[_local2] != null) {
m_elements[_local2][funcName](param1, param2);
}
_local2--;
}
}
}
Symbol 419 MovieClip [__Packages.CSoundService] Frame 0
class CSoundService extends MovieClip
{
var m_sounds, m_soundsState, m_soundsNames, createEmptyMovieClip, onEnterFrame;
function CSoundService () {
super();
}
function realPlaySound(id, repeatCount) {
if (m_soundOff) {
return(undefined);
}
Sound(m_sounds[id]).start(0, repeatCount);
}
function processSounds() {
var _local2 = 0;
while (_local2 < m_sounds.length) {
if (m_soundsState[_local2] > 0) {
realPlaySound(_local2, m_soundsState[_local2]);
m_soundsState[_local2] = ST_PLAY;
break;
}
_local2++;
}
}
function init(soundNames) {
m_soundsNames = soundNames;
m_sounds = new Array(soundNames.length);
m_soundsState = new Array(soundNames.length);
var _local2 = 0;
while (_local2 < soundNames.length) {
var _local4 = createEmptyMovieClip("_contMovie" + _local2, 1000 + _local2);
var _local3 = new Sound(_local4);
_local3.attachSound(soundNames[_local2]);
m_soundsState[_local2] = ST_STOP;
_local3.sounID = _local2;
_local3.parent = m_instance;
_local3.onSoundComplete = function () {
this.parent.m_soundsState[this.sounID] = CSoundService.ST_STOP;
};
m_sounds[_local2] = _local3;
_local2++;
}
onEnterFrame = processSounds;
}
static function createSoundService(soundNames, soundsPlace, depthInSoundsPlace) {
m_instance = CSoundService(soundsPlace.attachMovie("dmSoundService", "__SoundServiceObject", depthInSoundsPlace));
m_instance.init(soundNames);
return(m_instance);
}
static function playLoopSound(soundID) {
if ((m_instance.m_loopSoundID >= 0) && (m_instance.m_loopSoundID != soundID)) {
stopSound(m_instance.m_loopSoundID);
}
m_instance.m_loopSoundID = soundID;
if (!soundIsPlay(m_instance.m_loopSoundID)) {
playCurLoopSound();
}
}
static function playCurLoopSound() {
playSound(m_instance.m_loopSoundID, true, 9999);
}
static function stopCurLoopSound() {
stopSound(m_instance.m_loopSoundID);
m_instance.m_loopSoundID = -1;
}
static function soundOff() {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
m_instance.m_soundOff = true;
}
static function soundOn() {
m_instance.m_soundOff = false;
if (m_instance.m_loopSoundID >= 0) {
playCurLoopSound();
}
}
static function soundIsPlay(id) {
return(m_instance.m_soundsState[id] != ST_STOP);
}
static function playSound(id, ifSoundStop, repeatCount) {
if (repeatCount == undefined) {
repeatCount = 1;
}
if (ifSoundStop == undefined) {
ifSoundStop = false;
}
if (m_instance.m_soundOff) {
return(undefined);
}
if (ifSoundStop && (soundIsPlay(id))) {
return(undefined);
}
m_instance.m_soundsState[id] = repeatCount;
}
static function stopSound(id) {
Sound(m_instance.m_sounds[id]).stop(m_instance.m_soundsNames[id]);
m_instance.m_soundsState[id] = ST_STOP;
}
static function getSoundAt(soundNum) {
return(m_instance.m_sounds[soundNum]);
}
static function soundIsOn() {
return(!m_instance.m_soundOff);
}
static function stopAllSound() {
var _local1 = 0;
while (_local1 < m_instance.m_sounds.length) {
stopSound(_local1);
_local1++;
}
}
var m_loopSoundID = -1;
static var m_instance = null;
var m_soundOff = false;
static var ST_PLAY = -1;
static var ST_STOP = 0;
static var PLAY_OPT_ALWAYS = 0;
static var PLAY_OPT_IFSTOP = 1;
static var PLAY_OPT_STOPANDPLAY = 2;
}
Symbol 420 MovieClip [__Packages.IPauseListener] Frame 0
interface IPauseListener
{
}
Symbol 421 MovieClip [__Packages.CLevel] Frame 0
class CLevel extends MovieClip
{
var m_levelPlace, attachMovie, m_hitPlace, m_back, m_engine, m_camera, _x, _y;
function CLevel () {
super();
}
function initLevel(levelNum) {
m_levelPlace = attachMovie(CConstants.levelNames[levelNum], "_levelName", DEPTH_LEVEL);
m_hitPlace = m_levelPlace.mcHit;
m_back = m_levelPlace.mcMiddle;
m_engine = new CParticleEngine(m_hitPlace, 7);
m_camera = new CCamera();
}
function initCamera(movieCenteredAtScreen, windowWidth, windowHeight, lookAtX, lookAtY) {
m_camera.init(movieCenteredAtScreen, this, windowWidth, windowHeight);
m_camera.setLevelSize(300000, m_hitPlace._height * 1.1);
m_camera.setLookPoint(lookAtX, lookAtY);
m_camera.process();
}
function process() {
m_engine.process();
m_camera.process();
m_back._x = (-_x) / 3;
m_back._y = (-_y) + 50;
}
function checkFinish(targetObject) {
return(m_levelPlace.m_finishWall.hitTest(targetObject));
}
function checkHitBonus(targetObject) {
var _local2 = m_levelPlace.mcBonusPlace;
var _local3 = 0;
for (var _local5 in _local2) {
if (_local2[_local5]._currentframe == 1) {
_local3++;
if (_local2[_local5].mcHit.hitTest(targetObject)) {
_local2[_local5].play();
return(true);
}
}
}
if (_local3 == 0) {
CGame.__set__collectAllBonus(true);
}
return(false);
}
function getEngine() {
return(m_engine);
}
function getVehiclePlace() {
return(m_levelPlace.m_vehiclePlace);
}
function getHitPlace() {
return(m_hitPlace);
}
function getBonusPlace() {
return(m_levelPlace.mcBonusPlace);
}
function getBikePlace() {
var _local2 = new Object();
_local2.x = 0;
_local2.y = 0;
m_levelPlace.mcBikePlace.localToGlobal(_local2);
getVehiclePlace().globalToLocal(_local2);
return(_local2);
}
static var DEPTH_VECHICLE_PLACE = 150;
static var DEPTH_LEVEL = 110;
static var DEPTH_MIDDLE = 100;
static var DEPTH_HIT_LEVEL = 105;
}
Symbol 422 MovieClip [__Packages.CCamera] Frame 0
class CCamera
{
var m_targetMoviePos, m_targetMovie, m_levelMovie, m_screenWidth, m_screenHeight, m_levelWidth, m_levelHeight, m_targetXAtScreen, m_targetYAtScreen, m_positionState;
function CCamera () {
m_targetMoviePos = new Object();
}
function init(targetMovie, levelMovie, screenWidth, screenHeight) {
m_targetMovie = targetMovie;
m_levelMovie = levelMovie;
m_screenWidth = screenWidth;
m_screenHeight = screenHeight;
setLevelSize(m_levelMovie._width, m_levelMovie._height);
setLookPoint(m_screenWidth / 2, m_screenHeight / 2);
}
function setLevelSize(levelWidth, levelHeight) {
m_levelWidth = levelWidth;
m_levelHeight = levelHeight;
}
function setLookPoint(px, py) {
m_targetXAtScreen = px;
m_targetYAtScreen = py;
process();
}
function pointOutsideLeft(pX) {
return(Math.abs(pX) < Math.abs(m_levelMovie._x));
}
function process() {
m_targetMoviePos.x = m_targetMovie._x;
m_targetMoviePos.y = m_targetMovie._y;
m_targetMovie._parent.localToGlobal(m_targetMoviePos);
m_levelMovie._parent.globalToLocal(m_targetMoviePos);
m_levelMovie._x = m_levelMovie._x + int((m_targetXAtScreen - m_targetMoviePos.x) / 2);
m_levelMovie._y = m_levelMovie._y + int((m_targetYAtScreen - m_targetMoviePos.y) / 2);
m_positionState = BORDER_NONE;
if (m_levelMovie._x > 0) {
m_levelMovie._x = 0;
m_positionState = BORDER_LEFT;
} else if (m_levelMovie._x < (m_screenWidth - m_levelWidth)) {
m_levelMovie._x = m_screenWidth - m_levelWidth;
m_positionState = BORDER_RIGHT;
}
}
function getTargetMovie() {
return(m_targetMovie);
}
static var BORDER_NONE = 0;
static var BORDER_LEFT = 1;
static var BORDER_RIGHT = 2;
}
Symbol 423 MovieClip [__Packages.CBoxConstrainSkeleton] Frame 0
class CBoxConstrainSkeleton
{
var m_A, m_B, m_C, m_D, m_AB, m_AC, m_AD, m_BC, m_BD, m_CD, m_ABC, m_DCB;
function CBoxConstrainSkeleton () {
}
function init(a, b, c, d, ab, ac, ad, bc, bd, cd) {
m_A = a;
m_B = b;
m_C = c;
m_D = d;
m_AB = ab;
m_AB.__set__p1(a);
m_AB.__set__p2(b);
m_AC = ac;
m_AC.__set__p1(a);
m_AC.__set__p2(c);
m_AD = ad;
m_AD.__set__p1(a);
m_AD.__set__p2(d);
m_BC = bc;
m_BC.__set__p1(b);
m_BC.__set__p2(c);
m_BD = bd;
m_BD.__set__p1(b);
m_BD.__set__p2(d);
m_CD = cd;
m_CD.__set__p1(c);
m_CD.__set__p2(d);
m_ABC = new CPenetrationConstraint(m_D, m_C, m_B);
m_DCB = new CPenetrationConstraint(m_A, m_B, m_C);
return(this);
}
function changeGeometry(pA, pB, pC, pD) {
m_A.moveTo(pA.x, pA.y);
m_B.moveTo(pB.x, pB.y);
m_C.moveTo(pC.x, pC.y);
m_D.moveTo(pD.x, pD.y);
m_AB.fixDistance();
m_AC.fixDistance();
m_AD.fixDistance();
m_BC.fixDistance();
m_BD.fixDistance();
m_CD.fixDistance();
m_ABC.fixDistance();
m_DCB.fixDistance();
}
function addToEngine(engine) {
engine.addParticle(m_A);
engine.addParticle(m_B);
engine.addParticle(m_C);
engine.addParticle(m_D);
engine.addConstraint(m_AB);
engine.addConstraint(m_AC);
engine.addConstraint(m_AD);
engine.addConstraint(m_BC);
engine.addConstraint(m_BD);
engine.addConstraint(m_CD);
engine.addConstraint(m_ABC);
engine.addConstraint(m_DCB);
}
function get A() {
return(m_A);
}
function get B() {
return(m_B);
}
function get C() {
return(m_C);
}
function get D() {
return(m_D);
}
function get AB() {
return(m_AB);
}
function get AC() {
return(m_AC);
}
function get AD() {
return(m_AD);
}
function get BC() {
return(m_BC);
}
function get BD() {
return(m_BD);
}
function get CD() {
return(m_CD);
}
}
Symbol 424 MovieClip [__Packages.CSpringConstraint] Frame 0
class CSpringConstraint implements IConstraint
{
var m_p1, m_p2, m_koeffStiffPress, m_koeffStiffStretch, m_relaxLen;
function CSpringConstraint () {
}
function init(koeffStiffPress, koeffStiffStretch, p1, p2) {
m_p1 = p1;
m_p2 = p2;
m_koeffStiffPress = koeffStiffPress;
m_koeffStiffStretch = koeffStiffStretch;
fixDistance();
return(this);
}
function fixDistance() {
m_relaxLen = CVector2D.getDistanceBetween(m_p1.__get__pos(), m_p2.__get__pos());
}
function resolve() {
var _local3 = m_p1.__get__pos().x - m_p2.__get__pos().x;
var _local2 = m_p1.__get__pos().y - m_p2.__get__pos().y;
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local9 = (_local5 - m_relaxLen) / _local5;
var _local8;
if (_local5 > m_relaxLen) {
_local8 = m_koeffStiffStretch;
} else {
_local8 = m_koeffStiffPress;
}
var _local7 = m_p1.__get__mass();
var _local6 = m_p2.__get__mass();
var _local4 = (_local9 * _local8) / (_local7 + _local6);
m_p1.__get__pos().x = m_p1.__get__pos().x - ((_local3 * _local7) * _local4);
m_p1.__get__pos().y = m_p1.__get__pos().y - ((_local2 * _local7) * _local4);
m_p2.__get__pos().x = m_p2.__get__pos().x + ((_local3 * _local6) * _local4);
m_p2.__get__pos().y = m_p2.__get__pos().y + ((_local2 * _local6) * _local4);
}
function set p1(nP1) {
m_p1 = nP1;
//return(p1);
}
function get p1() {
return(m_p1);
}
function set p2(nP2) {
m_p2 = nP2;
//return(p2);
}
function get p2() {
return(m_p2);
}
}
Symbol 425 MovieClip [__Packages.CPenetrationConstraint] Frame 0
class CPenetrationConstraint implements IConstraint
{
var p0, p1, p2, sign, n;
function CPenetrationConstraint (np0, np1, np2) {
p0 = np0;
p1 = np1;
p2 = np2;
fixDistance();
}
function fixDistance() {
sign = p0.__get__pos().getDistanceTo(p1.__get__pos(), p2.__get__pos());
if (sign < 0) {
sign = -1;
} else {
sign = 1;
}
n = new CVector2D();
}
function resolve() {
var _local2 = p0.__get__pos().getDistanceTo(p1.__get__pos(), p2.__get__pos());
if ((sign * _local2) <= 2) {
n.init(p2.__get__pos().x, p2.__get__pos().y);
n.minus(p1.__get__pos());
n.normalize();
n.rotate(PI2 * sign);
n.mult(Math.abs(_local2) + 1);
p1.__get__pos().minus(n);
}
}
static var PI2 = (Math.PI/2);
}
Symbol 426 MovieClip [__Packages.CConstants] Frame 0
class CConstants
{
function CConstants () {
}
static var SOUNDS_NAMES = new Array("sndIntro", "sndNextLevel", "sndLoose", "sndInGame", "sndBonus", "sndDie", "sndButton", "sndTrick", "sndEngine2", "sndEngine3", "nitro");
static var SND_INTRO = 0;
static var SND_NEXT_LEVEL = 1;
static var SND_LOOSE = 2;
static var SND_INGAME = 3;
static var SND_BONUS = 4;
static var SND_DIE = 5;
static var SND_BUTTON = 6;
static var SND_TRICK = 7;
static var SND_ENGINE2 = 8;
static var SND_ENGINE3 = 9;
static var SND_NITRO = 10;
static var SCREEN_WIDTH = 700;
static var SCREEN_HEIGHT = 500;
static var ACCELERATE_BIKE = 55;
static var FILTER_GREY = new flash.filters.ColorMatrixFilter(new Array(0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0.3, 0.59, 0.11, 0, 0, 0, 0, 0, 1, 0));
static var levelNames = new Array("idLevel15", "idLevel14", "idLevel8", "idLevel4", "idLevel3", "idLevel13", "idLevel10", "idLevel5", "idLevel12", "idLevel6", "idLevel11", "idLevel1", "idLevel7", "idLevel2", "idLevel9");
static var bikeBaseParam = new CBoxConstrainSkeleton().init(new CWheel().initWhile(0, 0, 4, 19, 160), new CParticle().initParticle(0, 0, 3), new CParticle().initParticle(0, 0, 3), new CWheel().initWhile(0, 0, 4, 19, 160), new CSpringConstraint().init(0.4, 0.6), new CSpringConstraint().init(0.8, 0.8), new CSpringConstraint().init(0.7, 0.7), new CSpringConstraint().init(0.8, 0.8), new CSpringConstraint().init(0.8, 0.8), new CSpringConstraint().init(0.6, 0.6));
}
Symbol 427 MovieClip [__Packages.CGame] Frame 0
class CGame extends MovieClip
{
static var maxLevel, all_time, bike2;
var m_curLevel, m_raceEngine, onEnterFrame, screen;
function CGame () {
super();
m_curLevel = 0;
maxLevel = 0;
m_instance = this;
Key.addListener(this);
new CGameService(_root, CConstants.SOUNDS_NAMES);
LoadData();
}
function initGame() {
m_raceEngine.initRaceEngine(curLevel);
onEnterFrame = processGame;
}
static function buttonStartGame() {
tryCount = (0);
CGameService.__set__score(0);
curLevel = (0);
m_instance.m_medalBonus = 0;
m_instance.m_medalFirstTry = 0;
LoadData();
curLevel = (maxLevel);
m_instance.gotoAndStop("lbMap");
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
}
static function buttonHowToPlay() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
m_instance.gotoAndStop("lbHowToPlay");
}
function updateScoreAndLevel() {
screen.txtLevel = String(curLevel + 1);
screen.txtScore = String(CGameService.__get__score());
}
static function buttonNextLevel() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
curLevel = ((curLevel+1));
buttonStartRace();
}
static function SaveData() {
var _local2 = SharedObject.getLocal("NB2");
_local2.data.maxLev = maxLevel;
_local2.data.curLev = curLevel;
_local2.data.score = CGameService.score;
_local2.data.medBonus = m_instance.m_medalBonus;
_local2.data.medFirstBonus = m_instance.m_medalFirstTry;
_local2.data.allTime = all_time;
var _local1 = 0;
while (_local1 < CConstants.levelNames.length) {
_local2.data["LevScor" + _local1] = scoreLevel[_local1];
_local1++;
}
_local2.flush();
}
static function LoadData() {
all_time = 0;
curLevel = (0);
maxLevel = 0;
CGameService.__set__score(0);
m_instance.m_medalBonus = so.data.medBonus;
m_instance.m_medalFirstTry = so.data.medFirstBonus;
var so = SharedObject.getLocal("NB2");
if (so.data.maxLev != undefined) {
maxLevel = so.data.maxLev;
} else {
maxLevel = 0;
}
if (so.data.curLev != undefined) {
curLevel = (so.data.curLev);
} else {
curLevel = (maxLevel);
}
if (so.data.score != undefined) {
CGameService.__set__score(so.data.score);
}
if (so.data.allTime != undefined) {
all_time = so.data.allTime;
}
var _local1 = 0;
while (_local1 < CConstants.levelNames.length) {
scoreLevel[_local1] = 0;
if (so.data["LevScor" + _local1] != undefined) {
scoreLevel[_local1] = so.data["LevScor" + _local1];
}
_local1++;
}
}
static function Race2Start() {
bike2 = true;
buttonStartRace();
}
static function buttonStartRace() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
m_instance.gotoAndStop("lbGame");
m_instance.defaltFunction = function () {
};
m_instance.m_raceEngine.m_panel.txtLevel = curLevel + 1;
m_instance.m_raceEngine.m_panel.txtScore = CGameService.score;
specialScore = (0);
bonusScore = (0);
m_instance.m_collectAllBonus = false;
tryCount = ((tryCount+1));
m_instance.onEnterFrame = m_instance.initGame;
}
static function buttonBack() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
m_instance.gotoAndStop("lbMap");
}
static function buttonBack1() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
m_instance.gotoAndStop("lbSplash");
m_instance.defaltFunction = buttonStartGame;
}
static function onMapPress(nB) {
trace(nB);
var _local1 = Number(nB.split("_")[1]);
trace(_local1);
curLevel = (_local1 - 1);
showMap();
}
static function showMap() {
bike2 = false;
m_instance.screen.bt2Race._visible = maxLevel > 14;
var _local3 = null;
var _local2 = 1;
var _local1 = 1;
while (_local1 < 16) {
_local3 = m_instance.screen["m_" + _local1];
_local2 = 1;
if ((_local1 - 1) < maxLevel) {
_local2 = 2;
}
if (maxLevel == (_local1 - 1)) {
_local2 = 3;
}
if ((curLevel + 1) == _local1) {
_local2 = 4;
}
_local3.gotoAndStop(_local2);
_local1++;
}
}
static function buttonExitGame() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
m_instance.gotoAndStop("lbLose");
var _local1 = 0;
CGameService.score = CGameService.score + _local1;
m_instance.screen.txtTimeScore = String(_local1);
m_instance.updateScoreAndLevel();
m_instance.screen.mcAllBonus._visible = false;
m_instance.screen.mcFirst._visible = false;
tryCount = ((tryCount+1));
m_instance.updateMedal();
m_instance.defaltFunction = buttonStartRace;
}
static function levelComplete() {
CSoundService.playSound(CConstants.SND_BUTTON, true, 1);
if (curLevel >= (CConstants.levelNames.length - 1)) {
m_instance.gotoAndStop("lbWin");
m_instance.defaltFunction = function () {
};
} else {
m_instance.gotoAndStop("lbStatistic");
m_instance.defaltFunction = buttonNextLevel;
}
if (curLevel == maxLevel) {
maxLevel++;
if (maxLevel > 14) {
curLevel = (0);
}
}
var _local1 = Math.round(10000 / m_instance.m_time);
all_time = all_time + m_instance.m_time;
if (m_instance.m_collectAllBonus) {
specialScore = specialScore + 4000;
m_instance.m_medalBonus = m_instance.m_medalBonus + 1;
} else {
m_instance.screen.mcAllBonus._visible = false;
}
m_instance.updateMedal();
tryCount = (0);
m_instance.screen.txtTimeScore = String(_local1);
m_instance.screen.txtBonuslScore = String(m_instance.m_bonusScore);
m_instance.screen.txtSpecialScore = String(specialScore);
scoreLevel[curLevel] = (_local1 + m_instance.m_bonusScore) + specialScore;
CGameService.score = CGameService.score + scoreLevel[curLevel];
m_instance.updateScoreAndLevel();
SaveData();
}
function updateMedal() {
if (tryCount <= 1) {
specialScore = specialScore * 1.5;
specialScore = specialScore + 1000;
m_instance.m_medalFirstTry = m_instance.m_medalFirstTry + 1;
m_instance.screen.mcFirst.txtNum.text = String(m_instance.m_medalFirstTry);
} else {
m_instance.screen.mcFirstTry._visible = false;
}
if (m_instance.m_medalFirstTry <= 0) {
m_instance.screen.mcFirst._visible = false;
} else {
m_instance.screen.mcFirst.txtNum.text = String(m_instance.m_medalFirstTry);
}
if (m_instance.m_medalBonus <= 0) {
m_instance.screen.mcMedal._visible = false;
} else {
m_instance.screen.mcMedal.txtNum.text = String(m_instance.m_medalBonus);
}
trace(m_instance.m_medalFirstTry);
}
function processGame() {
CGameService.clearAll();
m_raceEngine.process();
}
function onKeyDown() {
m_raceEngine.onKeyDown();
if (Key.getCode() == 32) {
defaltFunction();
}
}
function defaltFunction() {
buttonStartGame();
}
static function set curLevel(curLevel) {
m_instance.m_curLevel = Math.min(curLevel, 14);
//return(CGame.curLevel);
}
static function get curLevel() {
return(m_instance.m_curLevel);
}
static function get curTime() {
return(m_instance.m_time);
}
static function set curTime(newTime) {
m_instance.m_time = newTime;
var _local3 = Math.floor(newTime / 60);
var _local2 = Math.floor(newTime % 60);
var _local4 = Math.floor((newTime - Math.floor(newTime)) * 100);
m_instance.m_raceEngine.m_panel.m_msec = CGameService.numberToStringWith0(_local4);
m_instance.m_raceEngine.m_panel.m_sec = CGameService.numberToStringWith0(_local2);
m_instance.m_raceEngine.m_panel.m_min = CGameService.numberToStringWith0(_local3);
//return(curTime);
}
static function set bonusScore(score) {
m_instance.m_raceEngine.m_panel.txtScore = String(score);
m_instance.m_bonusScore = score;
//return(bonusScore);
}
static function get bonusScore() {
return(m_instance.m_bonusScore);
}
static function get collectAllBonus() {
return(m_instance.m_collectAllBonus);
}
static function set collectAllBonus(stat) {
m_instance.m_collectAllBonus = stat;
//return(collectAllBonus);
}
static function set tryCount(count) {
m_instance.m_tryCount = count;
//return(tryCount);
}
static function get tryCount() {
return(m_instance.m_tryCount);
}
static function set specialScore(screcScore) {
m_instance.m_specialScore = screcScore;
//return(specialScore);
}
static function get specialScore() {
return(m_instance.m_specialScore);
}
static var m_instance = null;
static var scoreLevel = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
Symbol 428 MovieClip [__Packages.CRaceEngine] Frame 0
class CRaceEngine extends MovieClip implements IPauseListener
{
static var m_instance;
var mcPause, nitroCount, m_panel, processBuckUp, m_bike, m_level, nitroTime, m_keyState, m_curLevel, m_levelPlace;
function CRaceEngine () {
super();
m_instance = this;
mcPause._visible = false;
nitroCount = m_panel.nitroBar;
nitroCount.__set__numm(0);
CGameService.addPauseListener(this);
}
function enablePause() {
processBuckUp = process;
process = function () {
};
mcPause._visible = true;
m_bike.show(false);
m_level.getBonusPlace()._visible = false;
}
function disablePause() {
process = processBuckUp;
enableBikeControll();
mcPause._visible = false;
m_bike.show(true);
m_level.getBonusPlace()._visible = true;
}
function processKeys() {
var _local1 = new CMultiState();
return(_local1);
}
function onUnload() {
CSoundService.stopSound(CConstants.SND_ENGINE3);
CGameService.removePauseListener(this);
}
function processTime() {
CGame.curTime = CGame.curTime + 0.04167;
}
static function makeTrick(trickId, score) {
CSoundService.playSound(CConstants.SND_TRICK, false, 1);
var _local2 = m_instance.attachMovie("idTrickMessage", "trick", 1000);
_local2._x = 350;
_local2._y = 200;
_local2.mcMessage.gotoAndStop(trickId);
_local2.mcMessage.txtScore = score;
CGame.specialScore = CGame.specialScore + score;
_local2.onEnterFrame = function () {
if (this._currentframe == this._totalframes) {
this.removeMovieClip();
}
};
}
function process() {
}
function processRace() {
nitroCount.numm = nitroCount.numm + 0.1;
nitroTime--;
if (nitroTime > 0) {
m_bike.nitroAcss();
}
processTime();
m_level.process();
var _local2 = processKeys();
if (_local2.__get__curMask() != m_keyState.__get__curMask()) {
m_keyState.__set__curMask(_local2.curMask);
}
m_bike.processKeys(m_keyState);
m_bike.process();
if (m_bike.checkDeathPoint()) {
killBike();
}
if (m_level.checkFinish(m_bike.getBodyMovieClip())) {
CGame.levelComplete();
}
MyBonus.testBonus(m_bike);
}
function initRaceEngine(levelNum) {
m_curLevel = levelNum;
m_bike = new CBike();
MyBonus.collectBonus = 0;
MyBonus.numBonus = 0;
m_level = CLevel(m_levelPlace.attachMovie("idCurLevel", "__idLevel", DEPTH_CURLEVEL));
m_level.initLevel(levelNum);
m_keyState = new CMultiState();
resetBike();
CGame.__set__curTime(0);
enableBikeControll();
spaceFunction = function () {
if (this.nitroCount.numm > 95) {
this.nitroTime = 30;
this.nitroCount.numm = 0;
CSoundService.playSound(CConstants.SND_NITRO, true, 1);
}
};
process = processRace;
}
function resetBike() {
nitroTime = 0;
MyBonus.collectBonus = 0;
nitroCount.__set__numm(0);
var _local2 = m_level.getBikePlace();
m_level.getEngine().clear();
m_bike.initWehicle(m_level, _local2.x, _local2.y);
m_level.initCamera(m_bike.getBodyMovieClip(), CConstants.SCREEN_WIDTH, CConstants.SCREEN_HEIGHT, CConstants.SCREEN_WIDTH / 4, CConstants.SCREEN_HEIGHT / 1.35);
}
function enableBikeControll() {
processKeys = function () {
var _local1 = new CMultiState();
if (Key.isDown(38)) {
_local1.addMask(CBike.KM_ACCELERATE);
}
if (Key.isDown(40)) {
_local1.addMask(CBike.KM_BRAKE);
}
if (Key.isDown(37)) {
_local1.addMask(CBike.KM_MOVE_BODY_BACK);
}
if (Key.isDown(39)) {
_local1.addMask(CBike.KM_MOVE_BODY_FORWARD);
}
return(_local1);
};
}
function disableKeyFunction() {
processKeys = function () {
var _local1 = new CMultiState();
return(_local1);
};
}
function onKeyDown() {
if (Key.getCode() == 32) {
spaceFunction();
}
}
function spaceFunction() {
}
function killBike() {
CSoundService.playSound(CConstants.SND_DIE, false, 1);
CGame.buttonExitGame();
}
static var DEPTH_CURLEVEL = 10;
}
Symbol 429 MovieClip [__Packages.CMultiState] Frame 0
class CMultiState
{
var m_state, m_prevState;
function CMultiState () {
m_state = (m_prevState = 0);
}
function set curMask(nState) {
m_prevState = m_state;
m_state = nState;
//return(curMask);
}
function get curMask() {
return(m_state);
}
function checkMask(nState) {
return((m_state & nState) != 0);
}
function checkPrevStateMask(nState) {
return((m_prevState & nState) != 0);
}
function addMask(nState) {
curMask = curMask | nState;
}
function delMask(nState) {
curMask = curMask & (~nState);
}
}
Symbol 430 MovieClip [__Packages.CBar] Frame 0
class CBar extends MovieClip
{
var zn, gotoAndStop;
function CBar () {
super();
zn = 100;
gotoAndStop(101);
}
function set numm(n) {
if (n > 0) {
zn = n;
} else {
n = 0;
}
if (n < 100) {
zn = n;
} else {
zn = 100;
}
gotoAndStop(int(zn + 1));
//return(numm);
}
function get numm() {
return(zn);
}
}
Symbol 431 MovieClip [__Packages.CMan] Frame 0
class CMan extends MovieClip
{
var m_state, mc, gotoAndStop;
function CMan () {
super();
m_state = ST_STAY;
}
function stopMCAnim() {
mc.stop();
}
function processKeys(keyState) {
if (keyState.checkMask(CBike.KM_MOVE_BODY_FORWARD)) {
toRight();
} else if (keyState.checkMask(CBike.KM_MOVE_BODY_BACK)) {
toLeft();
} else if ((m_state == ST_TOLEFT) || (m_state == ST_INLEFT)) {
fromLeft();
} else if ((m_state == ST_TORIGHT) || (m_state == ST_INRIGHT)) {
fromRight();
}
}
function toLeft() {
var _local2;
if (m_state == ST_STAY) {
m_state = ST_TOLEFT;
gotoAndStop("toLeft");
} else if (m_state == ST_FROMLEFT) {
_local2 = mc._currentframe;
gotoAndStop("toLeft");
mc.gotoAndPlay((ANIM_FRAMES - _local2) + 1);
m_state = ST_TOLEFT;
} else if ((m_state == ST_TORIGHT) || (m_state == ST_INRIGHT)) {
fromRight();
m_state = ST_FROMRIGHT;
}
}
function toRight() {
var _local2;
if (m_state == ST_STAY) {
gotoAndStop("toRight");
m_state = ST_TORIGHT;
} else if (m_state == ST_FROMRIGHT) {
_local2 = mc._currentframe;
gotoAndStop("toRight");
mc.gotoAndPlay((ANIM_FRAMES - _local2) + 1);
m_state = ST_TORIGHT;
} else if ((m_state == ST_TOLEFT) || (m_state == ST_INLEFT)) {
fromLeft();
m_state = ST_FROMLEFT;
}
}
function fromLeft() {
var _local2;
if (m_state == ST_TOLEFT) {
_local2 = mc._currentframe;
gotoAndStop("fromLeft");
mc.gotoAndPlay((ANIM_FRAMES - _local2) + 1);
m_state = ST_FROMLEFT;
} else if (m_state == ST_INLEFT) {
gotoAndStop("fromLeft");
m_state = ST_FROMLEFT;
}
}
function fromRight() {
var _local2;
if (m_state == ST_TORIGHT) {
_local2 = mc._currentframe;
gotoAndStop("fromRight");
mc.gotoAndPlay((ANIM_FRAMES - _local2) + 1);
m_state = ST_FROMRIGHT;
} else if (m_state == ST_INRIGHT) {
gotoAndStop("fromRight");
m_state = ST_FROMRIGHT;
}
}
function endMove() {
if (m_state == ST_TOLEFT) {
gotoAndStop("left");
m_state = ST_INLEFT;
} else if (m_state == ST_FROMLEFT) {
m_state = ST_STAY;
gotoAndStop("stay");
} else if (m_state == ST_TORIGHT) {
m_state = ST_INRIGHT;
gotoAndStop("right");
} else if (m_state == ST_FROMRIGHT) {
m_state = ST_STAY;
gotoAndStop("stay");
}
}
static var ST_STAY = 0;
static var ST_TOLEFT = 1;
static var ST_INLEFT = 2;
static var ST_FROMLEFT = 3;
static var ST_TORIGHT = 4;
static var ST_INRIGHT = 5;
static var ST_FROMRIGHT = 6;
static var ANIM_FRAMES = 7;
}
Symbol 432 MovieClip [__Packages.myWater] Frame 0
class myWater extends MyBonus
{
var _visible;
function myWater () {
super();
}
function init() {
_visible = false;
}
function myHitTest(fw, bw, m, n) {
if (fw.getMovie().hitTest(this)) {
fw.startWater();
}
if (bw.getMovie().hitTest(this)) {
bw.startWater();
}
}
}
Symbol 433 MovieClip [__Packages.CInvisibleMovie] Frame 0
class CInvisibleMovie extends MovieClip
{
var _visible;
function CInvisibleMovie () {
super();
_visible = false;
}
}
Symbol 434 MovieClip [__Packages.myNitro] Frame 0
class myNitro extends MyBonus
{
var gotoAndPlay;
function myNitro () {
super();
}
function init() {
}
function myHitTest(fw, bw, m, n) {
if (m.getBodyMovieClip().hitTest(this)) {
trace("NITROHIT");
CRaceEngine.m_instance.nitroCount.numm = CRaceEngine.m_instance.nitroCount.numm + 34;
MyBonus.bonusListArr[n] = null;
gotoAndPlay(2);
}
}
}
Symbol 435 MovieClip [__Packages.CSoundControl] Frame 0
class CSoundControl extends MovieClip
{
var _currentframe, gotoAndStop;
function CSoundControl () {
super();
}
function onEnterFrame123() {
if ((!CSoundService.soundIsOn()) && (_currentframe != 2)) {
gotoAndStop(2);
}
if (CSoundService.soundIsOn() && (_currentframe != 1)) {
gotoAndStop(1);
}
}
function onMyPress() {
trace("s" + CSoundService.soundIsOn());
if (CSoundService.soundIsOn()) {
trace("off");
CSoundService.soundOff();
gotoAndStop(2);
} else {
CSoundService.soundOn();
gotoAndStop(1);
}
}
}
Symbol 436 MovieClip [__Packages.CGameControl] Frame 0
class CGameControl extends MovieClip
{
var _currentframe, gotoAndStop;
function CGameControl () {
super();
}
function onEnterFrame123() {
if ((!CGameService.__get__pauseOn()) && (_currentframe != 2)) {
gotoAndStop(2);
}
if (CGameService.__get__pauseOn() && (_currentframe != 1)) {
gotoAndStop(1);
}
}
function onMyPress() {
trace("p");
if (CGameService.__get__pauseOn()) {
CGameService.__set__pauseOn(false);
gotoAndStop(1);
} else {
CGameService.__set__pauseOn(true);
gotoAndStop(2);
}
}
}
Symbol 42 MovieClip [idMotoWhellBack] Frame 1
stop();
Symbol 45 MovieClip [idMotoWhellForward] Frame 1
stop();
Symbol 59 MovieClip Frame 1
stop();
Symbol 61 MovieClip Frame 1
stop();
Symbol 63 MovieClip Frame 1
stop();
Symbol 65 MovieClip Frame 1
stop();
Symbol 67 MovieClip Frame 7
this._parent.endMove();
Symbol 68 MovieClip Frame 7
this._parent.endMove();
Symbol 69 MovieClip Frame 7
this._parent.endMove();
Symbol 70 MovieClip Frame 7
this._parent.endMove();
Symbol 73 MovieClip [lib_man] Frame 1
#initclip 53
Object.registerClass("lib_man", CMan);
#endinitclip
this.stop();
Symbol 77 MovieClip [idBike] Frame 1
this.stop();
Symbol 78 MovieClip [idCurLevel] Frame 1
#initclip 32
Object.registerClass("idCurLevel", CLevel);
#endinitclip
Symbol 86 MovieClip [idHitLevel1] Frame 1
#initclip 33
Object.registerClass("idHitLevel1", CInvisibleMovie);
#endinitclip
Symbol 93 MovieClip [bikePlace] Frame 1
#initclip 34
Object.registerClass("bikePlace", CInvisibleMovie);
#endinitclip
Symbol 98 MovieClip [Bonus] Frame 1
#initclip 35
Object.registerClass("Bonus", MyBonus);
#endinitclip
stop();
Symbol 98 MovieClip [Bonus] Frame 6
stop();
Symbol 100 MovieClip [finishWall] Frame 1
#initclip 36
Object.registerClass("finishWall", CInvisibleMovie);
#endinitclip
Symbol 103 MovieClip [idHitLevel2] Frame 1
#initclip 37
Object.registerClass("idHitLevel2", CInvisibleMovie);
#endinitclip
Symbol 112 MovieClip [idHitLevel3] Frame 1
#initclip 38
Object.registerClass("idHitLevel3", CInvisibleMovie);
#endinitclip
Symbol 123 MovieClip [idHitLevel4] Frame 1
#initclip 39
Object.registerClass("idHitLevel4", CInvisibleMovie);
#endinitclip
Symbol 133 MovieClip [idHitLevel5] Frame 1
#initclip 40
Object.registerClass("idHitLevel5", CInvisibleMovie);
#endinitclip
Symbol 142 MovieClip [idHitLevel6] Frame 1
#initclip 41
Object.registerClass("idHitLevel6", CInvisibleMovie);
#endinitclip
Symbol 154 MovieClip [idHitLevel7] Frame 1
#initclip 42
Object.registerClass("idHitLevel7", CInvisibleMovie);
#endinitclip
Symbol 163 MovieClip [idHitLevel8] Frame 1
#initclip 43
Object.registerClass("idHitLevel8", CInvisibleMovie);
#endinitclip
Symbol 175 MovieClip [idHitLevel9] Frame 1
#initclip 44
Object.registerClass("idHitLevel9", CInvisibleMovie);
#endinitclip
Symbol 183 MovieClip [idHitLevel10] Frame 1
#initclip 45
Object.registerClass("idHitLevel10", CInvisibleMovie);
#endinitclip
Symbol 195 Button
on (press) {
onMyPress();
}
Symbol 198 MovieClip [Sound] Frame 1
#initclip 46
Object.registerClass("Sound", CSoundControl);
#endinitclip
stop();
Symbol 203 MovieClip [pausa] Frame 1
#initclip 47
Object.registerClass("pausa", CGameControl);
#endinitclip
stop();
Symbol 203 MovieClip [pausa] Frame 2
stop();
Symbol 205 MovieClip [idHitLevel11] Frame 1
#initclip 48
Object.registerClass("idHitLevel11", CInvisibleMovie);
#endinitclip
Symbol 215 MovieClip [levelHit12] Frame 1
#initclip 49
Object.registerClass("levelHit12", CInvisibleMovie);
#endinitclip
Symbol 225 MovieClip [levelHit13] Frame 1
#initclip 50
Object.registerClass("levelHit13", CInvisibleMovie);
#endinitclip
Symbol 233 MovieClip [levelHit14] Frame 1
#initclip 51
Object.registerClass("levelHit14", CInvisibleMovie);
#endinitclip
Symbol 243 MovieClip [levelHit15] Frame 1
#initclip 52
Object.registerClass("levelHit15", CInvisibleMovie);
#endinitclip
Symbol 265 MovieClip Frame 1
stop();
Symbol 278 MovieClip [idBike2] Frame 1
this.stop();
Symbol 283 MovieClip Frame 4
start();
stop();
Symbol 287 MovieClip Frame 5
stop();
Symbol 289 Button
on (release) {
getURL ("http://www.myrealgames.com/?utm_source=NuclearBike2&utm_medium=flash_moregames", "_blank");
}
Symbol 292 Button
on (press) {
CGame.buttonStartGame();
}
Symbol 294 Button
on (press) {
CGame.buttonHowToPlay();
}
Symbol 299 Button
on (release) {
getURL ("http://www.myrealgames.com/?utm_source=NuclearBike2&utm_medium=flash_moregames", "_blank");
}
Symbol 304 Button
on (press) {
CGame.buttonBack1();
}
Symbol 331 MovieClip [Bar2] Frame 1
#initclip 56
Object.registerClass("Bar2", CBar);
#endinitclip
stop();
Symbol 335 MovieClip [gameRace] Frame 1
#initclip 54
Object.registerClass("gameRace", CRaceEngine);
#endinitclip
Symbol 350 Button
on (press) {
CGame.buttonNextLevel();
}
Symbol 351 Button
on (press) {
CGame.buttonBack();
}
Symbol 366 Button
on (press) {
CGame.buttonBack();
}
Symbol 386 Button
on (press) {
CGame.buttonStartRace();
}
Symbol 390 Button
on (press) {
CGame.buttonBack1();
}
Symbol 392 Button
on (press) {
CGame.buttonStartRace();
}
Symbol 397 Button
on (press) {
CGame.onMapPress(_name);
}
Symbol 403 MovieClip Frame 1
stop();
Symbol 406 Button
on (press) {
CGame.Race2Start();
}
Symbol 409 MovieClip [game] Frame 1
#initclip 55
Object.registerClass("game", CGame);
#endinitclip
CSoundService.playLoopSound(CConstants.SND_INTRO);
stop();
Symbol 409 MovieClip [game] Frame 46
CSoundService.playLoopSound(CConstants.SND_INGAME);
stop();
Symbol 409 MovieClip [game] Frame 61
CSoundService.playLoopSound(CConstants.SND_NEXT_LEVEL);
stop();
Symbol 409 MovieClip [game] Frame 91
CSoundService.playLoopSound(CConstants.SND_LOOSE);
stop();
Symbol 409 MovieClip [game] Frame 106
CGame.showMap();
stop();