STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228098
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

swfchan turned sixteen years old yesterday! (5may2024)

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/82510108?noj=FRM82510108-6DC" width="1" height="1"></div>

Race Race 3D.swf

This is the info page for
Flash #135602

(Click the ID number above for more basic data on this flash file.)


Text
LOADING

100%

PLAY MORE GAMES

FREE GAMES FOR YOUR SITE

FREE GAMES FOR YOUR SITE

Back

Back

Finish first or second in five races in a row and
get the main cup in “Championship” mode.
You can train in “Training” mode.
Up / Down – Accelerate / Brake
Left / Right – Turn left / right
“P” – Pause

Up / Down – Accelerate / Brake
Left / Right – Turn left / right
“P” – Pause

Finish first or second in five races in a row and
get the main cup in “Championship” mode.
You can train in “Training” mode.

Championship

Championship

Training

Training

How to Play

How to Play

RACE  RACE 3D

Resume

Resume

Resume

Exit

Exit

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">4</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">3</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">2</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">N</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">R</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">6</font></p>

<p align="left"><font face="Crystal" size="9" color="#ffffff" letterSpacing="0.000000" kerning="1">5</font></p>

R

N

1

2

3

4

5

6

<p align="center"><font face="Crystal" size="26" color="#ff3300" letterSpacing="0.000000" kerning="1">000</font></p>

3

3

3

2

2

2

1

1

1

GO!

GO!

GO!

<p align="center"><font face="Impact" size="96" color="#000000" letterSpacing="0.000000" kerning="1">Final Lap!</font></p>

<p align="center"><font face="Impact" size="96" color="#cc6600" letterSpacing="0.000000" kerning="1"><b>Final Lap!</b></font></p>

<p align="center"><font face="Impact" size="96" color="#ffcc00" letterSpacing="0.000000" kerning="1">Final Lap!</font></p>

P

P

AUSE

AUSE

P

AUSE

<p align="right"><font face="Impact" size="24" color="#522614" letterSpacing="0.000000" kerning="1">LAP 1/5</font></p>

1st

1st

1st

2nd

2nd

2nd

3rd

3rd

3rd

4th

4th

4th

5th

5th

5th

6th

6th

6th

7th

7th

7th

8th

8th

8th

9th

9th

9th

10th

10th

10th

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

:

'

"

<p align="center"><font face="Crystal" size="96" color="#000000" letterSpacing="0.000000" kerning="1">4</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

1ST

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

2ND

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

3RD

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

4TH

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">00</font></p>

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000</font></p>

YOUR RESULT:

Next

Next

CONGRATULATIONS!

YOU LOSE!

YOU WON THE CUP!

TRAINING FINISHED

<p align="center"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">000000000</font></p>

YOUR SCORE

<p align="left"><font face="Crystal" size="24" color="#000000" letterSpacing="0.000000" kerning="1">NONAME</font></p>

INPUT YOUR NAME

Don't Submit

Don't Submit

Submit

Submit

SUBMIT SCORE?

This game has been URL-LOCKED
If you reading this message then this
version of game has been stolen and hosted on a site
without the prior permission from FLASHGAMES247

ActionScript [AS3]

Section 1
//Camera3D (iriysoft.engine3d.Camera3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.display.*; import flash.events.*; public class Camera3D extends Bitmap { protected var m_nFOV:Number; protected var m_coordTarget:Coords3D; public var coords:Coords3D; protected var m_nLens:Number; protected var m_uTargetMode:uint; public var nDepth:Number; private static const MIN_FOV:Number = 5; private static const DEFAULT_DEPTH:Number = 5000; private static const DEFAULT_WIDTH:Number = 550; public static const MODE_REAR_VIEW:uint = 3; private static const DEFAULT_HEIGHT:Number = 400; private static const DEFAULT_FOV:Number = 45; private static const MAX_FOV:Number = 175; public static const MODE_TAIL:uint = 1; public static const MODE_NONE:uint = 0; public static const MODE_TRACK:uint = 2; public function Camera3D(_arg1:uint=550, _arg2:uint=400){ super(new BitmapData(_arg1, _arg2), "auto", true); this.coords = new Coords3D(); this.nFOV = Camera3D.DEFAULT_FOV; this.nDepth = Camera3D.DEFAULT_DEPTH; this.m_uTargetMode = Camera3D.MODE_NONE; this.addEventListener(Event.ADDED_TO_STAGE, this.onAddToStage); this.addEventListener(Event.REMOVED_FROM_STAGE, this.onRemoveFromStage); } public function get nLens():Number{ return (this.m_nLens); } public function set nLens(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this.m_nLens = _arg1; this.m_nFOV = ((360 * Math.atan(((2 * this.m_nLens) / this.bitmapData.width))) / Math.PI); } public function setTarget(_arg1:uint, _arg2:Coords3D):void{ this.m_uTargetMode = _arg1; this.m_coordTarget = _arg2; } public function set nFOV(_arg1:Number):void{ if (_arg1 < Camera3D.MIN_FOV){ _arg1 = Camera3D.MIN_FOV; }; if (_arg1 > Camera3D.MAX_FOV){ _arg1 = Camera3D.MAX_FOV; }; this.m_nFOV = _arg1; this.m_nLens = (this.bitmapData.width / (2 * Math.tan(((Math.PI * this.m_nFOV) / 360)))); } protected function onAddToStage(_arg1:Event):void{ this.startRender(); } protected function onEnterFrame(_arg1:Event):void{ var _local2:Coords3D; this.dispatchEvent(new Event3D(Event3D.RENDER_QUERY)); if (this.m_uTargetMode == Camera3D.MODE_TAIL){ _local2 = this.m_coordTarget.findReverse(); _local2.copyTo(this.coords); this.coords.rotateOnX((-(Math.PI) / 15)); this.coords.translate(new Point3D(0, 13, 32)); } else { if (this.m_uTargetMode == Camera3D.MODE_REAR_VIEW){ _local2 = this.m_coordTarget.findReverse(); _local2.copyTo(this.coords); this.coords.translate(new Point3D(0, 8, 10)); this.coords.rotateOnY(Math.PI); }; }; } public function stopRender():void{ this.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } public function startRender():void{ this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } protected function onRemoveFromStage(_arg1:Event):void{ this.stopRender(); } public function get nFOV():Number{ return (this.m_nFOV); } } }//package iriysoft.engine3d
Section 2
//Coords3D (iriysoft.engine3d.Coords3D) package iriysoft.engine3d { import iriysoft.math.*; public class Coords3D { protected var m_p3dXAxis:Point3D; protected var m_p3dYAxis:Point3D; protected var m_p3dZAxis:Point3D; protected var m_p3dOrigin:Point3D; public function Coords3D(_arg1:Point3D=null, _arg2:Point3D=null, _arg3:Point3D=null, _arg4:Point3D=null){ if (_arg1 == null){ _arg1 = new Point3D(0, 0, 0); }; if (_arg2 == null){ _arg2 = new Point3D(1, 0, 0); }; if (_arg3 == null){ _arg3 = new Point3D(0, 1, 0); }; if (_arg4 == null){ _arg4 = new Point3D(0, 0, 1); }; this.m_p3dOrigin = _arg1; this.m_p3dXAxis = _arg2; this.m_p3dYAxis = _arg3; this.m_p3dZAxis = _arg4; } public function rotateOnZ(_arg1:Number):void{ var _local2:Coords3D; _local2 = new Coords3D(new Point3D(0, 0, 0), new Point3D(Math.cos(_arg1), -(Math.sin(_arg1)), 0), new Point3D(Math.sin(_arg1), Math.cos(_arg1), 0), new Point3D(0, 0, 1)); this.transformToCoords(_local2.findReverse()); } public function transformPoint(_arg1:Point3D):void{ _arg1.substract(this.m_p3dOrigin); this.transformVector(_arg1); } public function transformToCoords(_arg1:Coords3D):void{ _arg1.transformPoint(this.m_p3dOrigin); _arg1.transformVector(this.m_p3dXAxis); _arg1.transformVector(this.m_p3dYAxis); _arg1.transformVector(this.m_p3dZAxis); } public function rotateOnOwnY(_arg1:Number):void{ var _local2:Point3D; _local2 = this.m_p3dOrigin.clone(); _local2.nLength = (_local2.nLength * -1); this.translate(_local2); this.rotateOnY(_arg1); _local2.nLength = (_local2.nLength * -1); this.translate(_local2); } public function translate(_arg1:Point3D):void{ this.m_p3dOrigin.add(_arg1); } public function copyTo(_arg1:Coords3D):void{ this.m_p3dOrigin.copyTo(_arg1.m_p3dOrigin); this.m_p3dXAxis.copyTo(_arg1.m_p3dXAxis); this.m_p3dYAxis.copyTo(_arg1.m_p3dYAxis); this.m_p3dZAxis.copyTo(_arg1.m_p3dZAxis); } public function get p3dOrigin():Point3D{ return (this.m_p3dOrigin); } public function rotateOnAxis(_arg1:Point3D, _arg2:Number):void{ var _local3:Point3D; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Coords3D; _local3 = _arg1.clone(); _local3.normalize(); _local4 = Math.cos((_arg2 * 0.5)); _local5 = Math.sin((_arg2 * 0.5)); _local6 = (_local3.nX * _local5); _local7 = (_local3.nY * _local5); _local8 = (_local3.nZ * _local5); _local9 = _local4; _local10 = (_local6 * _local6); _local11 = (_local6 * _local7); _local12 = (_local6 * _local8); _local13 = (_local6 * _local9); _local14 = (_local7 * _local7); _local15 = (_local7 * _local8); _local16 = (_local7 * _local9); _local17 = (_local8 * _local8); _local18 = (_local8 * _local9); _local19 = new Coords3D(new Point3D(0, 0, 0), new Point3D((1 - (2 * (_local14 + _local17))), (2 * (_local11 - _local18)), (2 * (_local12 + _local16))), new Point3D((2 * (_local11 + _local18)), (1 - (2 * (_local10 + _local17))), (2 * (_local15 - _local13))), new Point3D((2 * (_local12 - _local16)), (2 * (_local15 + _local13)), (1 - (2 * (_local10 + _local14))))); this.transformToCoords(_local19.findReverse()); } public function transformVector(_arg1:Point3D):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.findScalar(this.m_p3dXAxis); _local3 = _arg1.findScalar(this.m_p3dYAxis); _local4 = _arg1.findScalar(this.m_p3dZAxis); _arg1.nX = _local2; _arg1.nY = _local3; _arg1.nZ = _local4; } public function clone():Coords3D{ var _local1:Coords3D; _local1 = new Coords3D(); _local1.m_p3dOrigin = this.m_p3dOrigin.clone(); _local1.m_p3dXAxis = this.m_p3dXAxis.clone(); _local1.m_p3dYAxis = this.m_p3dYAxis.clone(); _local1.m_p3dZAxis = this.m_p3dZAxis.clone(); return (_local1); } public function findReverse():Coords3D{ var _local1:Coords3D; _local1 = new Coords3D(); _local1.transformToCoords(this); return (_local1); } public function get p3dZAxis():Point3D{ return (this.m_p3dZAxis); } public function rotateOnX(_arg1:Number):void{ var _local2:Coords3D; _local2 = new Coords3D(new Point3D(0, 0, 0), new Point3D(1, 0, 0), new Point3D(0, Math.cos(_arg1), -(Math.sin(_arg1))), new Point3D(0, Math.sin(_arg1), Math.cos(_arg1))); this.transformToCoords(_local2.findReverse()); } public function rotateOnY(_arg1:Number):void{ var _local2:Coords3D; _local2 = new Coords3D(new Point3D(0, 0, 0), new Point3D(Math.cos(_arg1), 0, Math.sin(_arg1)), new Point3D(0, 1, 0), new Point3D(-(Math.sin(_arg1)), 0, Math.cos(_arg1))); this.transformToCoords(_local2.findReverse()); } } }//package iriysoft.engine3d
Section 3
//Event3D (iriysoft.engine3d.Event3D) package iriysoft.engine3d { import flash.events.*; public class Event3D extends Event { public var op3dSource2:ObjectPseudo3D; public var op3dSource1:ObjectPseudo3D; public static const PHYSICS_HIT:String = "physicsHit"; public static const RENDER_QUERY:String = "renderQuery"; public function Event3D(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } } }//package iriysoft.engine3d
Section 4
//Object3D (iriysoft.engine3d.Object3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.utils.*; public class Object3D { public var nZAtCamera:Number; public var nCameraZ:Number; private var m_dictPolygons:Dictionary; public var coordObjectToCamera:Coords3D; public var coords:Coords3D; public function Object3D(_arg1:Point3D=null){ this.coords = new Coords3D(_arg1); this.coordObjectToCamera = new Coords3D(); this.m_dictPolygons = new Dictionary(); } public function get dictPolygons():Dictionary{ return (this.m_dictPolygons); } public function addPolygon(_arg1:Polygon3D):void{ this.m_dictPolygons[_arg1] = true; } public function removePolygon(_arg1:Polygon3D):void{ delete this.m_dictPolygons[_arg1]; } } }//package iriysoft.engine3d
Section 5
//ObjectPseudo3D (iriysoft.engine3d.ObjectPseudo3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.display.*; public class ObjectPseudo3D extends MovieClip { public var coords:Coords3D; public var p3dCenterAtCamera:Point3D; public var coordObjectToCamera:Coords3D; public var nCameraZ:Number; public function ObjectPseudo3D(_arg1:Point3D=null){ this.coords = new Coords3D(_arg1); this.coordObjectToCamera = new Coords3D(); this.p3dCenterAtCamera = new Point3D(); } public function get nZAtCamera():Number{ return (this.p3dCenterAtCamera.nZ); } } }//package iriysoft.engine3d
Section 6
//Physics3D (iriysoft.engine3d.Physics3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.utils.*; import flash.events.*; public class Physics3D extends EventDispatcher { private var m_dictObjects:Dictionary; public static const MASS_INFINITE:Number = 1000000; public function Physics3D(){ this.m_dictObjects = new Dictionary(); } public function addObject(_arg1:ObjectPseudo3D, _arg2:Number, _arg3:Number=1000000, _arg4:Boolean=true):void{ this.m_dictObjects[_arg1] = {radius:_arg2, mass:_arg3, test:_arg4}; } public function removeObject(_arg1:ObjectPseudo3D):void{ delete this.m_dictObjects[_arg1]; } public function process():void{ var _local1:Dictionary; var _local2:ObjectPseudo3D; var _local3:ObjectPseudo3D; var _local4:Number; var _local5:Point3D; var _local6:Point3D; var _local7:Number; var _local8:Point3D; var _local9:Point3D; var _local10:Point3D; var _local11:Number; var _local12:*; var _local13:*; var _local14:Event3D; _local1 = new Dictionary(); _local5 = new Point3D(); _local6 = new Point3D(); _local8 = new Point3D(); _local9 = new Point3D(); _local10 = new Point3D(); for (_local12 in this.m_dictObjects) { _local2 = (_local12 as ObjectPseudo3D); if (this.m_dictObjects[_local2].test){ for (_local13 in this.m_dictObjects) { if (_local1[_local13] == null){ _local3 = (_local13 as ObjectPseudo3D); if (_local2 != _local3){ _local4 = Point3D.distance(_local2.coords.p3dOrigin, _local3.coords.p3dOrigin); if (_local4 < (this.m_dictObjects[_local2].radius + this.m_dictObjects[_local3].radius)){ _local7 = ((this.m_dictObjects[_local2].radius + this.m_dictObjects[_local3].radius) - _local4); _local3.coords.p3dOrigin.copyTo(_local5); _local5.substract(_local2.coords.p3dOrigin); _local5.nLength = (_local7 * (1 - (this.m_dictObjects[_local3].mass / (this.m_dictObjects[_local2].mass + this.m_dictObjects[_local3].mass)))); _local3.coords.translate(_local5); _local5.copyTo(_local6); _local6.nLength = (_local6.nLength * -1); _local6.nLength = (_local7 - _local6.nLength); _local2.coords.translate(_local6); if ((_local2 is Car3D)){ (_local2 as Car3D).m_p3dSpeed.copyTo(_local8); } else { _local8.nLength = 0; }; if ((_local3 is Car3D)){ (_local3 as Car3D).m_p3dSpeed.copyTo(_local9); } else { _local9.nLength = 0; }; if ((_local2 is Car3D)){ _local9.copyTo(_local10); _local10.nLength = (_local10.nLength * (this.m_dictObjects[_local3].mass / this.m_dictObjects[_local2].mass)); _local10.nLength = (_local10.nLength * -1); _local10.add(_local8); _local6.normalize(); _local11 = _local6.findScalar(_local10); _local6.nLength = ((-4 * _local11) / Car3D.SCALE_FACTOR); (_local2 as Car3D).m_p3dSpeed.add(_local6); }; if ((_local3 is Car3D)){ _local8.copyTo(_local10); _local10.nLength = (_local10.nLength * (this.m_dictObjects[_local2].mass / this.m_dictObjects[_local3].mass)); _local10.nLength = (_local10.nLength * -1); _local10.add(_local9); _local5.normalize(); _local11 = _local5.findScalar(_local10); _local5.nLength = ((-4 * _local11) / Car3D.SCALE_FACTOR); (_local3 as Car3D).m_p3dSpeed.add(_local5); }; _local14 = new Event3D(Event3D.PHYSICS_HIT); _local14.op3dSource1 = _local2; _local14.op3dSource2 = _local3; this.dispatchEvent(_local14); }; }; }; }; _local1[_local2] = true; }; }; } } }//package iriysoft.engine3d
Section 7
//Polygon3D (iriysoft.engine3d.Polygon3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.display.*; import flash.geom.*; public class Polygon3D { public var aProcVertexes:Array; public var aTexels:Array; public var aVertexes:Array; public var bdTexture:BitmapData; public var iColor:int; public var aProcTexels:Array; public function Polygon3D(... _args){ var _local2:int; var _local3:Point3D; var _local4:int; super(); this.aVertexes = new Array(); _local2 = _args.length; _local4 = 0; while (_local4 < _local2) { _local3 = (_args[_local4] as Point3D); this.aVertexes.push(_local3.clone()); _local4++; }; this.setColor(4285579318); } public function applyTexture(_arg1:BitmapData, ... _args):void{ var _local3:int; var _local4:Point; var _local5:int; this.bdTexture = _arg1; this.aTexels = new Array(); _local3 = _args.length; _local5 = 0; while (_local5 < _local3) { _local4 = (_args[_local5] as Point); this.aTexels.push(_local4.clone()); _local5++; }; } public function setColor(_arg1:int):void{ this.iColor = _arg1; } public function transformTo(_arg1:Coords3D):void{ var _local2:*; for each (_local2 in this.aProcVertexes) { _arg1.transformPoint((_local2 as Point3D)); }; } public function beginNewProcessing():void{ var _local1:int; var _local2:int; var _local3:int; this.aProcVertexes = new Array(); _local1 = this.aVertexes.length; _local2 = 0; while (_local2 < _local1) { this.aProcVertexes[_local2] = (this.aVertexes[_local2] as Point3D).clone(); _local2++; }; if (this.bdTexture != null){ this.aProcTexels = new Array(); _local1 = this.aTexels.length; _local3 = 0; while (_local3 < _local1) { this.aProcTexels[_local3] = (this.aTexels[_local3] as Point).clone(); _local3++; }; }; } public function clipByPlane(_arg1:Point3D, _arg2:Point3D):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:Point3D; var _local7:Point3D; var _local8:Point3D; var _local9:Point3D; var _local10:Point3D; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Point3D; var _local15:int; var _local16:Point; var _local17:Point; var _local18:Point; _local3 = 0; _local5 = this.aProcVertexes.length; _local6 = (this.aProcVertexes[0] as Point3D); if (this.bdTexture != null){ _local16 = (this.aProcTexels[0] as Point); }; _local9 = new Point3D(); _local10 = new Point3D(); _local15 = 0; while (_local15 < _local5) { _local4 = 0; _local7 = (this.aProcVertexes[(_local15 + _local3)] as Point3D); if (this.bdTexture != null){ _local17 = (this.aProcTexels[(_local15 + _local3)] as Point); }; if (_local15 < (_local5 - 1)){ _local8 = (this.aProcVertexes[((_local15 + _local3) + 1)] as Point3D); if (this.bdTexture != null){ _local18 = (this.aProcTexels[((_local15 + _local3) + 1)] as Point); }; } else { _local8 = _local6; if (this.bdTexture != null){ _local18 = _local16; }; }; _local7.copyTo(_local9); _local9.substract(_arg2); _local11 = _local9.findScalar(_arg1); _local8.copyTo(_local10); _local10.substract(_arg2); _local12 = _local10.findScalar(_arg1); if ((((((_local11 > 0)) && ((_local12 < 0)))) || ((((_local12 >= 0)) && ((_local11 < 0)))))){ _local13 = ((_arg2.findScalar(_arg1) - _local7.findScalar(_arg1)) / (_local8.findScalar(_arg1) - _local7.findScalar(_arg1))); this.aProcVertexes.splice(((_local15 + _local3) + 1), 0, new Point3D((_local7.nX + (_local13 * (_local8.nX - _local7.nX))), (_local7.nY + (_local13 * (_local8.nY - _local7.nY))), (_local7.nZ + (_local13 * (_local8.nZ - _local7.nZ))))); if (this.bdTexture != null){ this.aProcTexels.splice(((_local15 + _local3) + 1), 0, new Point((_local17.x + (_local13 * (_local18.x - _local17.x))), (_local17.y + (_local13 * (_local18.y - _local17.y))))); }; _local4++; }; if (_local11 < 0){ this.aProcVertexes.splice((_local15 + _local3), 1); if (this.bdTexture != null){ this.aProcTexels.splice((_local15 + _local3), 1); }; _local4--; }; _local3 = (_local3 + _local4); _local15++; }; } } }//package iriysoft.engine3d
Section 8
//Scene3D (iriysoft.engine3d.Scene3D) package iriysoft.engine3d { import iriysoft.math.*; import flash.utils.*; import flash.geom.*; public class Scene3D { protected var m_aObjects:Array; protected var m_dictCameras:Dictionary; public var coords:Coords3D; private static const TEXTURE_PERSPECTIVE:Boolean = true; private static const TEXTURE_SPAN:int = 16; public function Scene3D(){ this.coords = new Coords3D(); this.m_dictCameras = new Dictionary(); this.m_aObjects = new Array(); } public function addObject(_arg1:Object):void{ this.m_aObjects.push(_arg1); } public function removeObject(_arg1:Object):void{ var _local2:String; for (_local2 in this.m_aObjects) { if (this.m_aObjects[_local2] == _arg1){ this.m_aObjects.splice(_local2, 1); break; }; }; } public function removeCamera(_arg1:Camera3D):void{ _arg1.removeEventListener(Event3D.RENDER_QUERY, this.onCameraRenderQuery); delete this.m_dictCameras[_arg1]; } public function addCamera(_arg1:Camera3D):void{ if (this.m_dictCameras[_arg1] == null){ this.m_dictCameras[_arg1] = true; _arg1.addEventListener(Event3D.RENDER_QUERY, this.onCameraRenderQuery); }; } protected function onCameraRenderQuery(_arg1:Event3D):void{ var _local2:Camera3D; var _local3:Coords3D; var _local4:Object3D; var _local5:ObjectPseudo3D; var _local6:Coords3D; var _local7:Coords3D; var _local8:int; var _local9:int; var _local10:Point3D; var _local11:Point3D; var _local12:Point3D; var _local13:Point3D; var _local14:Point3D; var _local15:Point3D; var _local16:Point3D; var _local17:Point3D; var _local18:Point3D; var _local19:Point3D; var _local20:Point3D; var _local21:Point3D; var _local22:Polygon3D; var _local23:int; var _local24:Point3D; var _local25:VertexInfo; var _local26:VertexInfo; var _local27:VertexInfo; var _local28:Array; var _local29:int; var _local30:int; var _local31:int; var _local32:int; var _local33:int; var _local34:Number; var _local35:Rectangle; var _local36:Number; var _local37:Number; var _local38:Number; var _local39:Number; var _local40:Number; var _local41:Number; var _local42:Number; var _local43:Number; var _local44:Number; var _local45:Number; var _local46:Number; var _local47:Number; var _local48:Number; var _local49:Number; var _local50:Number; var _local51:Number; var _local52:Number; var _local53:int; var _local54:Number; var _local55:Number; var _local56:Number; var _local57:Number; var _local58:Number; var _local59:Number; var _local60:Number; var _local61:Number; var _local62:Number; var _local63:Number; var _local64:int; var _local65:int; var _local66:Number; var _local67:Point3D; var _local68:Number; var _local69:Matrix; var _local70:*; var _local71:int; var _local72:*; var _local73:int; _local2 = (_arg1.target as Camera3D); _local2.bitmapData.fillRect(new Rectangle(0, 0, _local2.bitmapData.width, _local2.bitmapData.height), 4288269567); _local3 = this.coords.clone(); _local3.transformToCoords(_local2.coords); _local6 = new Coords3D(); _local8 = this.m_aObjects.length; _local9 = 0; while (_local9 < _local8) { if ((this.m_aObjects[_local9] is Object3D)){ _local4 = (this.m_aObjects[_local9] as Object3D); this.coords.copyTo(_local6); _local6.transformToCoords(_local4.coords); _local7 = _local6.findReverse(); _local3.copyTo(_local4.coordObjectToCamera); _local4.coordObjectToCamera.transformToCoords(_local7); } else { if ((this.m_aObjects[_local9] is ObjectPseudo3D)){ _local5 = (this.m_aObjects[_local9] as ObjectPseudo3D); this.coords.copyTo(_local6); _local6.transformToCoords(_local5.coords); _local7 = _local6.findReverse(); _local3.copyTo(_local5.coordObjectToCamera); _local5.coordObjectToCamera.transformToCoords(_local7); _local5.p3dCenterAtCamera.nX = 0; _local5.p3dCenterAtCamera.nY = 0; _local5.p3dCenterAtCamera.nZ = 0; _local5.coordObjectToCamera.transformPoint(_local5.p3dCenterAtCamera); }; }; _local9++; }; this.m_aObjects.sortOn("nZAtCamera", (Array.NUMERIC | Array.DESCENDING)); _local10 = new Point3D(0, 0, 1); _local11 = new Point3D(0, 0, 1); _local12 = new Point3D(0, 0, -1); _local13 = new Point3D(0, 0, _local2.nDepth); _local14 = new Point3D(0, (-(_local2.bitmapData.height) / 2), ((_local2.bitmapData.height * _local2.bitmapData.height) / (4 * _local2.nLens))); _local15 = new Point3D(0, 0, 0); _local16 = new Point3D(0, (_local2.bitmapData.height / 2), ((_local2.bitmapData.height * _local2.bitmapData.height) / (4 * _local2.nLens))); _local17 = new Point3D(0, 0, 0); _local18 = new Point3D((-(_local2.bitmapData.width) / 2), 0, ((_local2.bitmapData.width * _local2.bitmapData.width) / (4 * _local2.nLens))); _local19 = new Point3D(0, 0, 0); _local20 = new Point3D((_local2.bitmapData.width / 2), 0, ((_local2.bitmapData.width * _local2.bitmapData.width) / (4 * _local2.nLens))); _local21 = new Point3D(0, 0, 0); _local24 = new Point3D(); _local25 = new VertexInfo(); _local26 = new VertexInfo(); _local27 = new VertexInfo(); _local28 = new Array(_local25, _local26, _local27); _local35 = new Rectangle(); _local67 = new Point3D(); _local69 = new Matrix(); _local9 = 0; while (_local9 < _local8) { if ((this.m_aObjects[_local9] is Object3D)){ _local4 = (this.m_aObjects[_local9] as Object3D); for (_local70 in _local4.dictPolygons) { _local22 = (_local70 as Polygon3D); _local22.beginNewProcessing(); _local22.transformTo(_local4.coordObjectToCamera); _local22.clipByPlane(_local10, _local11); _local22.clipByPlane(_local12, _local13); _local22.clipByPlane(_local14, _local15); _local22.clipByPlane(_local16, _local17); _local22.clipByPlane(_local18, _local19); _local22.clipByPlane(_local20, _local21); _local23 = _local22.aProcVertexes.length; _local71 = 1; while (_local71 < (_local23 - 1)) { _local22.aProcVertexes[0].copyTo(_local24); _local25.m_iX = Math.round((((_local24.nX * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.width / 2))); _local25.m_iY = Math.round((((_local24.nY * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.height / 2))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local25.m_nWZ = (1 / _local24.nZ); _local25.m_nUZ = (_local22.aProcTexels[0].x * _local25.m_nWZ); _local25.m_nVZ = (_local22.aProcTexels[0].y * _local25.m_nWZ); } else { _local25.m_nU = _local22.aProcTexels[0].x; _local25.m_nV = _local22.aProcTexels[0].y; }; }; _local22.aProcVertexes[_local71].copyTo(_local24); _local26.m_iX = Math.round((((_local24.nX * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.width / 2))); _local26.m_iY = Math.round((((_local24.nY * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.height / 2))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local26.m_nWZ = (1 / _local24.nZ); _local26.m_nUZ = (_local22.aProcTexels[_local71].x * _local26.m_nWZ); _local26.m_nVZ = (_local22.aProcTexels[_local71].y * _local26.m_nWZ); } else { _local26.m_nU = _local22.aProcTexels[_local71].x; _local26.m_nV = _local22.aProcTexels[_local71].y; }; }; _local22.aProcVertexes[(_local71 + 1)].copyTo(_local24); _local27.m_iX = Math.round((((_local24.nX * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.width / 2))); _local27.m_iY = Math.round((((_local24.nY * _local2.nLens) / _local24.nZ) + (_local2.bitmapData.height / 2))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local27.m_nWZ = (1 / _local24.nZ); _local27.m_nUZ = (_local22.aProcTexels[(_local71 + 1)].x * _local27.m_nWZ); _local27.m_nVZ = (_local22.aProcTexels[(_local71 + 1)].y * _local27.m_nWZ); } else { _local27.m_nU = _local22.aProcTexels[(_local71 + 1)].x; _local27.m_nV = _local22.aProcTexels[(_local71 + 1)].y; }; }; _local28.sortOn("m_iY", Array.NUMERIC); _local25 = (_local28[0] as VertexInfo); _local26 = (_local28[1] as VertexInfo); _local27 = (_local28[2] as VertexInfo); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local29 = (_local25.m_iX + (((_local26.m_iY - _local25.m_iY) * (_local27.m_iX - _local25.m_iX)) / (_local27.m_iY - _local25.m_iY))); _local44 = (_local25.m_nWZ + (((_local26.m_iY - _local25.m_iY) * (_local27.m_nWZ - _local25.m_nWZ)) / (_local27.m_iY - _local25.m_iY))); _local47 = (_local25.m_nUZ + (((_local26.m_iY - _local25.m_iY) * (_local27.m_nUZ - _local25.m_nUZ)) / (_local27.m_iY - _local25.m_iY))); _local50 = (_local25.m_nVZ + (((_local26.m_iY - _local25.m_iY) * (_local27.m_nVZ - _local25.m_nVZ)) / (_local27.m_iY - _local25.m_iY))); _local31 = _local26.m_iX; _local45 = _local26.m_nWZ; _local48 = _local26.m_nUZ; _local51 = _local26.m_nVZ; _local46 = ((_local44 - _local45) / (_local29 - _local31)); _local49 = ((_local47 - _local48) / (_local29 - _local31)); _local52 = ((_local50 - _local51) / (_local29 - _local31)); } else { _local29 = (_local25.m_iX + (((_local26.m_iY - _local25.m_iY) * (_local27.m_iX - _local25.m_iX)) / (_local27.m_iY - _local25.m_iY))); _local36 = (_local25.m_nU + (((_local26.m_iY - _local25.m_iY) * (_local27.m_nU - _local25.m_nU)) / (_local27.m_iY - _local25.m_iY))); _local39 = (_local25.m_nV + (((_local26.m_iY - _local25.m_iY) * (_local27.m_nV - _local25.m_nV)) / (_local27.m_iY - _local25.m_iY))); _local31 = _local26.m_iX; _local37 = _local26.m_nU; _local40 = _local26.m_nV; _local38 = ((_local36 - _local37) / (_local29 - _local31)); _local41 = ((_local39 - _local40) / (_local39 - _local40)); }; }; _local72 = _local25.m_iY; while (_local72 <= _local27.m_iY) { _local29 = (_local25.m_iX + (((_local72 - _local25.m_iY) * (_local27.m_iX - _local25.m_iX)) / (_local27.m_iY - _local25.m_iY))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local44 = (_local25.m_nWZ + (((_local72 - _local25.m_iY) * (_local27.m_nWZ - _local25.m_nWZ)) / (_local27.m_iY - _local25.m_iY))); _local47 = (_local25.m_nUZ + (((_local72 - _local25.m_iY) * (_local27.m_nUZ - _local25.m_nUZ)) / (_local27.m_iY - _local25.m_iY))); _local50 = (_local25.m_nVZ + (((_local72 - _local25.m_iY) * (_local27.m_nVZ - _local25.m_nVZ)) / (_local27.m_iY - _local25.m_iY))); } else { _local36 = (_local25.m_nU + (((_local72 - _local25.m_iY) * (_local27.m_nU - _local25.m_nU)) / (_local27.m_iY - _local25.m_iY))); _local39 = (_local25.m_nV + (((_local72 - _local25.m_iY) * (_local27.m_nV - _local25.m_nV)) / (_local27.m_iY - _local25.m_iY))); }; }; if (_local72 < _local26.m_iY){ _local31 = (_local25.m_iX + (((_local72 - _local25.m_iY) * (_local26.m_iX - _local25.m_iX)) / (_local26.m_iY - _local25.m_iY))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local45 = (_local25.m_nWZ + (((_local72 - _local25.m_iY) * (_local26.m_nWZ - _local25.m_nWZ)) / (_local26.m_iY - _local25.m_iY))); _local48 = (_local25.m_nUZ + (((_local72 - _local25.m_iY) * (_local26.m_nUZ - _local25.m_nUZ)) / (_local26.m_iY - _local25.m_iY))); _local51 = (_local25.m_nVZ + (((_local72 - _local25.m_iY) * (_local26.m_nVZ - _local25.m_nVZ)) / (_local26.m_iY - _local25.m_iY))); } else { _local37 = (_local25.m_nU + (((_local72 - _local25.m_iY) * (_local26.m_nU - _local25.m_nU)) / (_local26.m_iY - _local25.m_iY))); _local40 = (_local25.m_nV + (((_local72 - _local25.m_iY) * (_local26.m_nV - _local25.m_nV)) / (_local26.m_iY - _local25.m_iY))); }; }; } else { if (_local27.m_iY == _local26.m_iY){ _local31 = _local26.m_iX; if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local45 = _local26.m_nWZ; _local48 = _local26.m_nUZ; _local51 = _local26.m_nVZ; } else { _local37 = _local26.m_nU; _local40 = _local26.m_nV; }; }; } else { _local31 = (_local26.m_iX + (((_local72 - _local26.m_iY) * (_local27.m_iX - _local26.m_iX)) / (_local27.m_iY - _local26.m_iY))); if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local45 = (_local26.m_nWZ + (((_local72 - _local26.m_iY) * (_local27.m_nWZ - _local26.m_nWZ)) / (_local27.m_iY - _local26.m_iY))); _local48 = (_local26.m_nUZ + (((_local72 - _local26.m_iY) * (_local27.m_nUZ - _local26.m_nUZ)) / (_local27.m_iY - _local26.m_iY))); _local51 = (_local26.m_nVZ + (((_local72 - _local26.m_iY) * (_local27.m_nVZ - _local26.m_nVZ)) / (_local27.m_iY - _local26.m_iY))); } else { _local37 = (_local26.m_nU + (((_local72 - _local26.m_iY) * (_local27.m_nU - _local26.m_nU)) / (_local27.m_iY - _local26.m_iY))); _local40 = (_local26.m_nV + (((_local72 - _local26.m_iY) * (_local27.m_nV - _local26.m_nV)) / (_local27.m_iY - _local26.m_iY))); }; }; }; }; if (_local29 > _local31){ _local33 = _local29; _local29 = _local31; _local31 = _local33; if (_local22.bdTexture != null){ if (Scene3D.TEXTURE_PERSPECTIVE){ _local34 = _local44; _local44 = _local45; _local45 = _local34; _local34 = _local47; _local47 = _local48; _local48 = _local34; _local34 = _local50; _local50 = _local51; _local51 = _local34; } else { _local34 = _local36; _local36 = _local37; _local37 = _local34; _local34 = _local39; _local39 = _local40; _local40 = _local34; }; }; }; if (_local22.bdTexture == null){ _local35.x = _local29; _local35.width = (_local31 - _local29); _local35.y = _local72; _local35.height = 1; _local2.bitmapData.fillRect(_local35, _local22.iColor); } else { if (!Scene3D.TEXTURE_PERSPECTIVE){ _local42 = _local36; _local43 = _local39; _local2.bitmapData.lock(); _local73 = _local29; while (_local73 < _local31) { _local2.bitmapData.setPixel(_local73, _local72, _local22.bdTexture.getPixel(_local42, _local43)); _local42 = (_local42 + _local38); _local43 = (_local43 + _local41); _local73++; }; _local2.bitmapData.unlock(); } else { _local64 = _local29; _local53 = (_local31 - _local29); _local54 = _local44; _local55 = _local47; _local56 = _local50; _local60 = (_local55 / _local54); _local61 = (_local56 / _local54); _local2.bitmapData.lock(); while (_local53 >= Scene3D.TEXTURE_SPAN) { _local57 = (_local54 + (Scene3D.TEXTURE_SPAN * _local46)); _local58 = (_local55 + (Scene3D.TEXTURE_SPAN * _local49)); _local59 = (_local56 + (Scene3D.TEXTURE_SPAN * _local52)); _local62 = (_local58 / _local57); _local63 = (_local59 / _local57); _local42 = _local60; _local43 = _local61; _local38 = ((_local62 - _local60) / Scene3D.TEXTURE_SPAN); _local41 = ((_local63 - _local61) / Scene3D.TEXTURE_SPAN); _local65 = Scene3D.TEXTURE_SPAN; while (_local65--) { _local2.bitmapData.setPixel(_local64, _local72, _local22.bdTexture.getPixel(_local42, _local43)); _local64++; _local42 = (_local42 + _local38); _local43 = (_local43 + _local41); }; _local53 = (_local53 - Scene3D.TEXTURE_SPAN); _local54 = _local57; _local55 = _local58; _local56 = _local59; _local60 = _local62; _local61 = _local63; }; if (_local53 != 0){ _local57 = (_local54 + (_local53 * _local46)); _local58 = (_local55 + (_local53 * _local49)); _local59 = (_local56 + (_local53 * _local52)); _local62 = (_local58 / _local57); _local63 = (_local59 / _local57); _local42 = _local60; _local43 = _local61; _local38 = ((_local62 - _local60) / _local53); _local41 = ((_local63 - _local61) / _local53); while (_local53--) { _local2.bitmapData.setPixel(_local64, _local72, _local22.bdTexture.getPixel(_local42, _local43)); _local64++; _local42 = (_local42 + _local38); _local43 = (_local43 + _local41); }; }; _local2.bitmapData.unlock(); }; }; _local72++; }; _local71++; }; }; } else { if ((this.m_aObjects[_local9] is ObjectPseudo3D)){ _local5 = (this.m_aObjects[_local9] as ObjectPseudo3D); _local67.nX = 0; _local67.nY = 0; _local67.nZ = 1; _local5.coordObjectToCamera.transformVector(_local67); if (((((((((((!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local10, _local11))) && (!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local12, _local13))))) && (!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local14, _local15))))) && (!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local16, _local17))))) && (!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local18, _local19))))) && (!(pointIsClippedByPlane(_local5.p3dCenterAtCamera, _local20, _local21))))){ _local66 = Math.acos((_local67.nZ / Math.sqrt(((_local67.nX * _local67.nX) + (_local67.nZ * _local67.nZ))))); if (_local67.nX < 0){ _local66 = ((2 * Math.PI) - _local66); }; _local68 = ((_local5.p3dCenterAtCamera.nX * _local2.nLens) / _local5.p3dCenterAtCamera.nZ); _local66 = (_local66 - (0.003 * _local68)); while (_local66 < 0) { _local66 = (_local66 + (2 * Math.PI)); }; while (_local66 >= (2 * Math.PI)) { _local66 = (_local66 - (2 * Math.PI)); }; _local5.gotoAndStop((Math.round(((_local66 * 180) / Math.PI)) + 1)); _local69.tx = Math.round((_local68 + (_local2.bitmapData.width / 2))); _local69.ty = Math.round((((_local5.p3dCenterAtCamera.nY * _local2.nLens) / _local5.p3dCenterAtCamera.nZ) + (_local2.bitmapData.height / 2))); _local69.a = ((0.1 * _local2.nLens) / _local5.p3dCenterAtCamera.nZ); _local69.d = _local69.a; _local2.bitmapData.draw(_local5, _local69); }; }; }; _local9++; }; } protected function pointIsClippedByPlane(_arg1:Point3D, _arg2:Point3D, _arg3:Point3D):Boolean{ var _local4:Point3D; var _local5:Number; _local4 = _arg1.clone(); _local4.substract(_arg3); _local5 = _local4.findScalar(_arg2); return ((_local5 < 0)); } } }//package iriysoft.engine3d
Section 9
//VertexInfo (iriysoft.engine3d.VertexInfo) package iriysoft.engine3d { class VertexInfo { public var m_nVZ:Number; public var m_iX:int; public var m_iY:int; public var m_nUZ:Number; public var m_nU:Number; public var m_nV:Number; public var m_nWZ:Number; } }//package iriysoft.engine3d
Section 10
//Point3D (iriysoft.math.Point3D) package iriysoft.math { public class Point3D { public var nX:Number; public var nY:Number; public var nZ:Number; public function Point3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){ this.nX = _arg1; this.nY = _arg2; this.nZ = _arg3; } public function rotateOnZ(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = ((this.nX * Math.cos(_arg1)) - (this.nY * Math.sin(_arg1))); _local3 = ((this.nX * Math.sin(_arg1)) + (this.nY * Math.cos(_arg1))); this.nX = _local2; this.nY = _local3; } public function rotateOnAxis(_arg1:Point3D, _arg2:Number):void{ } public function substract(_arg1:Point3D):void{ this.nX = (this.nX - _arg1.nX); this.nY = (this.nY - _arg1.nY); this.nZ = (this.nZ - _arg1.nZ); } public function toString():String{ return ((((((("(x=" + this.nX) + ", y=") + this.nY) + ", z=") + this.nZ) + ")")); } public function findScalar(_arg1:Point3D):Number{ return ((((this.nX * _arg1.nX) + (this.nY * _arg1.nY)) + (this.nZ * _arg1.nZ))); } public function set nLength(_arg1:Number):void{ var _local2:Number; _local2 = (_arg1 / this.nLength); if (this.nLength == 0){ _local2 = 0; }; this.nX = (this.nX * _local2); this.nY = (this.nY * _local2); this.nZ = (this.nZ * _local2); } public function normalize():void{ this.nLength = 1; } public function copyTo(_arg1:Point3D):void{ _arg1.nX = this.nX; _arg1.nY = this.nY; _arg1.nZ = this.nZ; } public function get nLength():Number{ return (Math.sqrt(this.findScalar(this))); } public function add(_arg1:Point3D):void{ this.nX = (this.nX + _arg1.nX); this.nY = (this.nY + _arg1.nY); this.nZ = (this.nZ + _arg1.nZ); } public function clone():Point3D{ return (new Point3D(this.nX, this.nY, this.nZ)); } public function rotateOnX(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = ((this.nY * Math.cos(_arg1)) - (this.nZ * Math.sin(_arg1))); _local3 = ((this.nY * Math.sin(_arg1)) + (this.nZ * Math.cos(_arg1))); this.nY = _local2; this.nZ = _local3; } public function rotateOnY(_arg1:Number):void{ var _local2:Number; var _local3:Number; _local2 = ((this.nX * Math.cos(_arg1)) + (this.nZ * Math.sin(_arg1))); _local3 = ((-(this.nX) * Math.sin(_arg1)) + (this.nZ * Math.cos(_arg1))); this.nX = _local2; this.nZ = _local3; } public static function distance(_arg1:Point3D, _arg2:Point3D):Number{ return (Math.sqrt(((((_arg1.nX - _arg2.nX) * (_arg1.nX - _arg2.nX)) + ((_arg1.nY - _arg2.nY) * (_arg1.nY - _arg2.nY))) + ((_arg1.nZ - _arg2.nZ) * (_arg1.nZ - _arg2.nZ))))); } } }//package iriysoft.math
Section 11
//SoundManager (iriysoft.sound.SoundManager) package iriysoft.sound { import flash.media.*; import flash.utils.*; import flash.system.*; public class SoundManager { private var m_sBackSoundID:String; private var m_schBackSound:SoundChannel; private var m_dictSounds:Dictionary; private var m_soundOn:Boolean; public function SoundManager(){ this.m_dictSounds = new Dictionary(); this.soundOn = true; this.m_sBackSoundID = null; } public function set soundOn(_arg1:Boolean):void{ this.m_soundOn = _arg1; if (!this.m_soundOn){ this.stopBackSound(); SoundMixer.stopAll(); } else { if (this.m_sBackSoundID != null){ this.playBackSound(this.m_sBackSoundID); }; }; } public function stopBackSound():void{ if (this.m_schBackSound != null){ this.m_schBackSound.stop(); this.m_schBackSound = null; }; } public function setTransform(_arg1:String, _arg2:SoundTransform):void{ (this.m_dictSounds[_arg1] as SoundObject).m_transform = _arg2; } public function get soundOn():Boolean{ return (this.m_soundOn); } public function removeSound(_arg1:String):void{ delete this.m_dictSounds[_arg1]; } public function setVolume(_arg1:String, _arg2:Number):void{ (this.m_dictSounds[_arg1] as SoundObject).m_transform.volume = _arg2; } public function addSound(_arg1:String, _arg2:String=null):void{ var _local3:Class; var _local4:SoundObject; if (_arg2 == null){ _arg2 = _arg1; }; _local3 = (ApplicationDomain.currentDomain.getDefinition(_arg1) as Class); _local4 = new SoundObject(new (_local3)); this.m_dictSounds[_arg2] = _local4; } public function playBackSound(_arg1:String):SoundChannel{ if (((!((this.m_schBackSound == null))) && (!((this.m_sBackSoundID == _arg1))))){ this.m_schBackSound.stop(); this.m_schBackSound = null; }; if (this.m_schBackSound == null){ this.m_schBackSound = this.playSound(_arg1, 0, int.MAX_VALUE); }; this.m_sBackSoundID = _arg1; return (this.m_schBackSound); } public function playSound(_arg1:String, _arg2:Number=0, _arg3:int=0):SoundChannel{ if (this.soundOn){ return ((this.m_dictSounds[_arg1] as SoundObject).play(_arg2, _arg3)); }; return (null); } } }//package iriysoft.sound
Section 12
//SoundObject (iriysoft.sound.SoundObject) package iriysoft.sound { import flash.media.*; class SoundObject { public var m_transform:SoundTransform; public var m_sound:Sound; function SoundObject(_arg1:Sound){ this.m_sound = _arg1; this.m_transform = new SoundTransform(); } public function play(_arg1:Number=0, _arg2:int=0):SoundChannel{ return (this.m_sound.play(_arg1, _arg2, this.m_transform)); } } }//package iriysoft.sound
Section 13
//FrameTimer (iriysoft.utils.FrameTimer) package iriysoft.utils { import flash.display.*; import flash.events.*; public class FrameTimer extends EventDispatcher { private var m_nTransparentTime:Number; private var m_nTimer:Number; private var m_nDelay:Number; private var m_uRepeatCount:uint; private var m_uCurrentCount:uint; private var m_doEnterFrameSource:DisplayObject; public static const CHRONOMETER:Number = -1; public function FrameTimer(_arg1:DisplayObject, _arg2:Number=-1, _arg3:uint=0){ this.m_nDelay = _arg2; this.m_uRepeatCount = _arg3; this.m_nTransparentTime = 0; this.reset(); this.m_doEnterFrameSource = _arg1; } public function stop():void{ this.m_doEnterFrameSource.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } private function onEnterFrame(_arg1:Event):void{ var _local2:Number; _local2 = (1000 / (_arg1.target as DisplayObject).stage.frameRate); this.m_nTimer = (this.m_nTimer + _local2); this.m_nTransparentTime = (this.m_nTransparentTime + _local2); if ((((this.m_nDelay >= 0)) && ((this.m_nTimer >= this.m_nDelay)))){ this.dispatchEvent(new TimerEvent(TimerEvent.TIMER)); this.m_nTimer = 0; this.m_uCurrentCount++; if (this.m_uCurrentCount == this.m_uRepeatCount){ this.dispatchEvent(new TimerEvent(TimerEvent.TIMER_COMPLETE)); this.stop(); }; }; } public function reset():void{ this.m_uCurrentCount = 0; this.m_nTimer = 0; } public function get nTime():Number{ return (this.m_nTransparentTime); } public function start():void{ if ((((this.m_uCurrentCount < this.m_uRepeatCount)) || ((this.m_uRepeatCount == 0)))){ this.m_nTimer = 0; this.m_doEnterFrameSource.addEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } public function set nDelay(_arg1:Number):void{ if (_arg1 < 0){ _arg1 = 0; }; this.m_nDelay = _arg1; } public function get uCurrentCount():uint{ return (this.m_uCurrentCount); } public function get nDelay():Number{ return (this.m_nDelay); } public function resume():void{ if ((((this.m_uCurrentCount < this.m_uRepeatCount)) || ((this.m_uRepeatCount == 0)))){ this.m_doEnterFrameSource.addEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } public function set uRepeatCount(_arg1:uint):void{ this.m_uRepeatCount = _arg1; if (this.m_uRepeatCount <= this.m_uCurrentCount){ this.stop(); }; } public function get uRepeatCount():uint{ return (this.m_uCurrentCount); } public static function convertTime(_arg1:uint):Object{ var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; _local2 = (_arg1 / ((60 * 60) * 1000)); _arg1 = (_arg1 - (_local2 * ((60 * 60) * 1000))); _local3 = (_arg1 / (60 * 1000)); _arg1 = (_arg1 - (_local3 * (60 * 1000))); _local4 = (_arg1 / 1000); _arg1 = (_arg1 - (_local4 * 1000)); _local5 = _arg1; return ({hours:_local2, minutes:_local3, seconds:_local4, milliseconds:_local5}); } } }//package iriysoft.utils
Section 14
//_back_wheel_2w_12 (Race3D_fla._back_wheel_2w_12) package Race3D_fla { import flash.display.*; public dynamic class _back_wheel_2w_12 extends MovieClip { public var mc:MovieClip; } }//package Race3D_fla
Section 15
//_back_wheel2w_13 (Race3D_fla._back_wheel2w_13) package Race3D_fla { import flash.display.*; public dynamic class _back_wheel2w_13 extends MovieClip { public var mc_rim:MovieClip; } }//package Race3D_fla
Section 16
//_bike_body_22 (Race3D_fla._bike_body_22) package Race3D_fla { import flash.display.*; public dynamic class _bike_body_22 extends MovieClip { public var mc:MovieClip; } }//package Race3D_fla
Section 17
//_bike_body_wx_16 (Race3D_fla._bike_body_wx_16) package Race3D_fla { import flash.display.*; public dynamic class _bike_body_wx_16 extends MovieClip { public var mc:MovieClip; } }//package Race3D_fla
Section 18
//_bike_bodyw_17 (Race3D_fla._bike_bodyw_17) package Race3D_fla { import flash.display.*; public dynamic class _bike_bodyw_17 extends MovieClip { public var mc_b_spring:MovieClip; public var mc_s_wheel_forward:MovieClip; public var mc_f_spring:MovieClip; public var mc_s_wheel_back:MovieClip; public var mc_body_man:MovieClip; public var mc_f_point:MovieClip; } }//package Race3D_fla
Section 19
//_bike_f_springw_18 (Race3D_fla._bike_f_springw_18) package Race3D_fla { import flash.display.*; public dynamic class _bike_f_springw_18 extends MovieClip { public var mc_spring:MovieClip; } }//package Race3D_fla
Section 20
//_forward_wheel_w_6 (Race3D_fla._forward_wheel_w_6) package Race3D_fla { import flash.display.*; public dynamic class _forward_wheel_w_6 extends MovieClip { public var mc:MovieClip; } }//package Race3D_fla
Section 21
//_forward_wheelw_7 (Race3D_fla._forward_wheelw_7) package Race3D_fla { import flash.display.*; public dynamic class _forward_wheelw_7 extends MovieClip { public var mc_rim:MovieClip; } }//package Race3D_fla
Section 22
//_man_allw_26 (Race3D_fla._man_allw_26) package Race3D_fla { import flash.display.*; public dynamic class _man_allw_26 extends MovieClip { public var b:MovieClip; public var h:MovieClip; public var l:MovieClip; } }//package Race3D_fla
Section 23
//bodyw_31 (Race3D_fla.bodyw_31) package Race3D_fla { import flash.display.*; public dynamic class bodyw_31 extends MovieClip { public var p:MovieClip; } }//package Race3D_fla
Section 24
//Countdown_72 (Race3D_fla.Countdown_72) package Race3D_fla { import flash.display.*; public dynamic class Countdown_72 extends MovieClip { public function Countdown_72(){ addFrameScript(12, frame13); } function frame13(){ stop(); } } }//package Race3D_fla
Section 25
//Countdown_74 (Race3D_fla.Countdown_74) package Race3D_fla { import flash.display.*; public dynamic class Countdown_74 extends MovieClip { public function Countdown_74(){ addFrameScript(12, frame13); } function frame13(){ stop(); } } }//package Race3D_fla
Section 26
//Countdown_76 (Race3D_fla.Countdown_76) package Race3D_fla { import flash.display.*; public dynamic class Countdown_76 extends MovieClip { public function Countdown_76(){ addFrameScript(12, frame13); } function frame13(){ stop(); } } }//package Race3D_fla
Section 27
//Countdown_78 (Race3D_fla.Countdown_78) package Race3D_fla { import flash.display.*; public dynamic class Countdown_78 extends MovieClip { public function Countdown_78(){ addFrameScript(12, frame13); } function frame13(){ stop(); } } }//package Race3D_fla
Section 28
//FinalLap_Title_81 (Race3D_fla.FinalLap_Title_81) package Race3D_fla { import flash.display.*; import flash.text.*; public dynamic class FinalLap_Title_81 extends MovieClip { public var tfMessage2:TextField; public var tfMessage1:TextField; public var tfMessage3:TextField; } }//package Race3D_fla
Section 29
//headw_30 (Race3D_fla.headw_30) package Race3D_fla { import flash.display.*; public dynamic class headw_30 extends MovieClip { public var p:MovieClip; } }//package Race3D_fla
Section 30
//legw_32 (Race3D_fla.legw_32) package Race3D_fla { import flash.display.*; public dynamic class legw_32 extends MovieClip { public var p:MovieClip; } }//package Race3D_fla
Section 31
//Loader_34 (Race3D_fla.Loader_34) package Race3D_fla { import flash.display.*; import flash.text.*; public dynamic class Loader_34 extends MovieClip { public var btStart:SimpleButton; public var mcStripe:MovieClip; public var tfPercents:TextField; public function Loader_34(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package Race3D_fla
Section 32
//logoaniinit_1 (Race3D_fla.logoaniinit_1) package Race3D_fla { import flash.display.*; public dynamic class logoaniinit_1 extends MovieClip { public var prebut:SimpleButton; public function logoaniinit_1(){ addFrameScript(5766, frame5767); } function frame5767(){ stop(); } } }//package Race3D_fla
Section 33
//logocharacters_2 (Race3D_fla.logocharacters_2) package Race3D_fla { import flash.display.*; public dynamic class logocharacters_2 extends MovieClip { public var num; public function logocharacters_2(){ addFrameScript(0, frame1); } function frame1(){ num = (Math.floor((Math.random() * 3)) + 1); MovieClip(this).gotoAndStop(num); } } }//package Race3D_fla
Section 34
//spring_backw_21 (Race3D_fla.spring_backw_21) package Race3D_fla { import flash.display.*; public dynamic class spring_backw_21 extends MovieClip { public var mc_top:MovieClip; } }//package Race3D_fla
Section 35
//Tachometer_70 (Race3D_fla.Tachometer_70) package Race3D_fla { import flash.display.*; public dynamic class Tachometer_70 extends MovieClip { public function Tachometer_70(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Race3D_fla
Section 36
//TrainingResult_91 (Race3D_fla.TrainingResult_91) package Race3D_fla { import flash.display.*; import flash.text.*; public dynamic class TrainingResult_91 extends MovieClip { public var tfMinutes:TextField; public var tfMilliSeconds:TextField; public var tfSeconds:TextField; } }//package Race3D_fla
Section 37
//TransmissionBar_69 (Race3D_fla.TransmissionBar_69) package Race3D_fla { import flash.display.*; public dynamic class TransmissionBar_69 extends MovieClip { public function TransmissionBar_69(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Race3D_fla
Section 38
//Arrow3D (Arrow3D) package { import iriysoft.engine3d.*; public dynamic class Arrow3D extends ObjectPseudo3D { } }//package
Section 39
//Beacon3D (Beacon3D) package { import iriysoft.engine3d.*; public dynamic class Beacon3D extends ObjectPseudo3D { } }//package
Section 40
//ButtonOverSound (ButtonOverSound) package { import flash.media.*; public dynamic class ButtonOverSound extends Sound { } }//package
Section 41
//ButtonSound (ButtonSound) package { import flash.media.*; public dynamic class ButtonSound extends Sound { } }//package
Section 42
//Car3D (Car3D) package { import iriysoft.engine3d.*; import iriysoft.math.*; import flash.display.*; import flash.events.*; import flash.ui.*; public class Car3D extends ObjectPseudo3D { private var m_nSteer:Number; private var m_nSteerSpeed:Number; private var m_iWheelRadius:int; public var iCurrentCheck:int; public var m_iRPM:int; private var m_bAutoTransmission:Boolean; private var m_iHP:int; public var m_p3dSpeed:Point3D; public var iSkill:int; public var m_iGear:int; public var iNextCheck:int; public var bOutOfTrack:Boolean; public var p3dTarget2:Point3D; private var m_iGearTimer:int; public var m_iMass:int; public var iCurrentLap:int; public var iDriver:int; public var p3dTarget:Point3D; private static const STEER_SPEED_UP:Number = 0.02; public static const DRIVER_USER:int = 1; private static const ROLL_FRICTION:Number = 0.02; private static const GEAR_TOP:int = 8; private static const GRAVITY:Number = 9.8; private static const BRAKE_SLIP_FRICTION:Number = 50000; private static const MIN_RPM:int = 800; private static const SLIP_OUT_FRICTION:Number = 11; private static const GEAR_NEUTRAL:int = 1; private static const MAX_RPM:int = 8000; private static const GEAR_REAR:int = 0; private static const SLIP_FRICTION:Number = 15; private static const BACK_THROTTLE:int = 100; private static const MAX_STEER_SPEED:Number = 0.135; public static const DRIVER_AI:int = 2; private static const GEAR_SWITCH_COOLDOWN:int = 8; private static const THROTTLE:int = 100; public static const EVENT_UPDATE:String = "update"; private static const TRANSMISSIONS:Array = [5.11, 0, 3.42, 2.11, 1.43, 1.09, 1.1, 0.91]; public static const SCALE_FACTOR:int = 12; private static const ROLL_OUT_FRICTION:Number = 100; private static const AIR_RESISTANCE:Number = 0.2; public static const DRIVER_NONE:int = 0; private static const MAX_STEER:Number = 1.8; public function Car3D(){ this.iDriver = Car3D.DRIVER_NONE; this.m_iGear = Car3D.GEAR_NEUTRAL; this.m_iRPM = Car3D.MIN_RPM; this.m_nSteer = 0; this.m_iMass = 1520; this.m_iHP = 220; this.m_iWheelRadius = 26; this.m_bAutoTransmission = true; this.m_iGearTimer = 0; this.m_p3dSpeed = new Point3D(); this.m_nSteerSpeed = 0; this.iSkill = 0; } public function process(_arg1:Object=null):void{ var _local2:Number; var _local3:Boolean; var _local4:Boolean; var _local5:Boolean; var _local6:Boolean; var _local7:Boolean; var _local8:Boolean; var _local9:Boolean; var _local10:Point3D; var _local11:Point3D; var _local12:Number; var _local13:Number; var _local14:Point3D; var _local15:Point3D; var _local16:Point3D; var _local17:Point3D; var _local18:Point3D; var _local19:Number; var _local20:Number; var _local21:Point3D; var _local22:Point3D; var _local23:*; var _local24:Point3D; var _local25:Point3D; var _local26:Number; var _local27:Number; var _local28:Number; var _local29:Number; var _local30:Point3D; var _local31:Number; var _local32:Number; _local2 = this.m_p3dSpeed.nLength; _local3 = false; _local4 = false; _local5 = false; _local6 = false; _local7 = false; _local8 = false; _local9 = false; if (this.iDriver == Car3D.DRIVER_USER){ for (_local23 in _arg1) { switch (_local23){ case Keyboard.UP: _local5 = true; break; case Keyboard.DOWN: _local6 = true; break; case Keyboard.LEFT: _local8 = true; break; case Keyboard.RIGHT: _local9 = true; break; }; }; } else { if (this.iDriver == Car3D.DRIVER_AI){ _local24 = this.p3dTarget.clone(); _local24.substract(this.coords.p3dOrigin); _local25 = this.p3dTarget2.clone(); _local25.substract(this.coords.p3dOrigin); _local26 = Math.acos((_local24.findScalar(this.coords.p3dZAxis) / (_local24.nLength * this.coords.p3dZAxis.nLength))); _local27 = Math.acos((_local25.findScalar(this.coords.p3dZAxis) / (_local25.nLength * this.coords.p3dZAxis.nLength))); _local28 = _local24.nLength; _local29 = (_local26 / _local28); if ((((_local26 > ((Math.PI / 350) - ((this.iSkill * Math.PI) / 2000)))) && ((_local28 > 200)))){ _local30 = _local24.clone(); } else { if (_local27 > ((Math.PI / 350) - ((this.iSkill * Math.PI) / 2000))){ _local30 = _local25.clone(); }; }; if (_local30 != null){ _local30.rotateOnY((Math.PI / 2)); _local31 = (_local30.findScalar(this.coords.p3dZAxis) / (_local30.nLength * this.coords.p3dZAxis.nLength)); if (_local31 > 0){ _local8 = true; } else { _local9 = true; }; }; if (_local2 > (160 + (this.iSkill * 5))){ } else { if ((((_local29 < ((Math.PI / 900) + ((this.iSkill * Math.PI) / 4000)))) || ((_local2 < (80 + (this.iSkill * 10)))))){ _local5 = true; }; }; }; }; _local10 = this.coords.p3dZAxis.clone(); _local10.normalize(); _local11 = _local10.clone(); _local11.rotateOnY((Math.PI / 2)); _local12 = this.m_p3dSpeed.findScalar(_local10); _local13 = this.m_p3dSpeed.findScalar(_local11); if (_local13 < 0){ _local13 = (_local13 * -1); _local11.nLength = (_local11.nLength * -1); }; if (!this.m_bAutoTransmission){ if (((((_local4) && ((this.m_iGearTimer <= 0)))) && ((this.m_iGear < Car3D.GEAR_TOP)))){ this.m_iGear++; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; if (((((_local3) && ((this.m_iGearTimer <= 0)))) && ((this.m_iGear > Car3D.GEAR_REAR)))){ this.m_iGear--; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; } else { if ((((((this.m_iGear == Car3D.GEAR_NEUTRAL)) && (_local5))) && ((this.m_iGearTimer <= 0)))){ this.m_iGear = (Car3D.GEAR_NEUTRAL + 1); this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; if ((((((this.m_iGear == Car3D.GEAR_NEUTRAL)) && (_local6))) && ((this.m_iGearTimer <= 0)))){ this.m_iGear = Car3D.GEAR_REAR; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; if ((((((((((_local12 > 0)) && ((_local12 < 3)))) && (!(_local5)))) || ((((((_local12 < 0)) && ((_local12 > -3)))) && (!(_local6)))))) && ((this.m_iGearTimer <= 0)))){ this.m_iGear = Car3D.GEAR_NEUTRAL; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; if (this.m_iGear > Car3D.GEAR_NEUTRAL){ if ((((((_local12 > ((0.025 * 7000) / Car3D.TRANSMISSIONS[this.m_iGear]))) && ((this.m_iGear < Car3D.GEAR_TOP)))) && ((this.m_iGearTimer <= 0)))){ this.m_iGear++; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; if ((((((_local12 < ((0.025 * 7000) / Car3D.TRANSMISSIONS[(this.m_iGear - 1)]))) && ((this.m_iGear > (Car3D.GEAR_NEUTRAL + 1))))) && ((this.m_iGearTimer <= 0)))){ this.m_iGear--; this.m_iGearTimer = Car3D.GEAR_SWITCH_COOLDOWN; }; }; }; if (((_local5) && ((this.m_iGear > Car3D.GEAR_NEUTRAL)))){ this.m_iRPM = (this.m_iRPM + Car3D.THROTTLE); } else { if (((_local6) && ((this.m_iGear == Car3D.GEAR_REAR)))){ this.m_iRPM = (this.m_iRPM + Car3D.BACK_THROTTLE); } else { if (this.m_iGear == Car3D.GEAR_REAR){ this.m_iRPM = (this.m_iRPM - (3 * Car3D.THROTTLE)); } else { this.m_iRPM = (this.m_iRPM - Car3D.THROTTLE); }; }; }; if (this.m_iRPM > Car3D.MAX_RPM){ this.m_iRPM = Car3D.MAX_RPM; }; if (this.m_iRPM < Car3D.MIN_RPM){ this.m_iRPM = Car3D.MIN_RPM; }; _local14 = new Point3D(); _local15 = new Point3D(); _local16 = new Point3D(); _local17 = new Point3D(); _local18 = new Point3D(); _local11.copyTo(_local15); if (_local13 != 0){ _local15.nLength = (_local15.nLength * -1); _local15.nLength = (((this.bOutOfTrack) ? Car3D.SLIP_OUT_FRICTION : Car3D.SLIP_FRICTION * this.m_iMass) * Car3D.GRAVITY); _local32 = ((_local13 * this.m_iMass) * Car3D.SCALE_FACTOR); if (_local15.nLength > _local32){ _local15.nLength = _local32; }; } else { _local15.nLength = 0; }; this.m_p3dSpeed.copyTo(_local18); _local18.normalize(); _local18.nLength = (_local18.nLength * ((-(Car3D.AIR_RESISTANCE) * _local2) * _local2)); _local10.copyTo(_local14); if (this.m_iGear == Car3D.GEAR_NEUTRAL){ _local14.nLength = 0; } else { if (this.m_iGear == Car3D.GEAR_REAR){ _local14.nLength = (_local14.nLength * -1); }; }; _local10.copyTo(_local16); _local10.copyTo(_local17); if (_local12 == 0){ _local16.nLength = 0; _local17.nLength = 0; } else { if (_local12 > 0){ _local16.nLength = (_local16.nLength * -1); _local17.nLength = (_local17.nLength * -1); }; }; if (_local7){ _local16.nLength = 0; _local17.nLength = (((this.bOutOfTrack) ? Car3D.SLIP_OUT_FRICTION : Car3D.SLIP_FRICTION * this.m_iMass) * Car3D.GRAVITY); _local32 = ((Math.abs(_local12) * this.m_iMass) * Car3D.SCALE_FACTOR); if (_local17.nLength > _local32){ _local17.nLength = _local32; }; } else { _local16.nLength = ((((this.bOutOfTrack) ? Car3D.ROLL_OUT_FRICTION : Car3D.ROLL_FRICTION * this.m_iMass) * Car3D.GRAVITY) / this.m_iWheelRadius); _local32 = ((Math.abs(_local12) * this.m_iMass) * Car3D.SCALE_FACTOR); if (_local16.nLength > _local32){ _local16.nLength = _local32; }; if (((((_local6) && ((_local12 > 0)))) || (((_local5) && ((_local12 < 0)))))){ _local14.nLength = 0; _local17.nLength = Car3D.BRAKE_SLIP_FRICTION; } else { if (((!((this.m_iGear == Car3D.GEAR_NEUTRAL))) && ((Math.abs(_local12) < (((0.025 * 2) * this.m_iRPM) / Car3D.TRANSMISSIONS[this.m_iGear]))))){ _local14.nLength = (((this.m_iHP * this.m_iRPM) * Car3D.TRANSMISSIONS[this.m_iGear]) / 50); this.m_iRPM = (this.m_iRPM - (((1.25 * Math.abs(_local12)) * Car3D.TRANSMISSIONS[this.m_iGear]) / 3)); _local17.nLength = 0; }; }; }; _local19 = ((Car3D.MAX_STEER * 200) / Math.abs(_local12)); if (((_local8) && ((this.m_nSteer > -(_local19))))){ this.m_nSteerSpeed = (this.m_nSteerSpeed + Car3D.STEER_SPEED_UP); if (this.m_nSteerSpeed > Car3D.MAX_STEER_SPEED){ this.m_nSteerSpeed = Car3D.MAX_STEER_SPEED; }; if (this.m_nSteer > 0){ this.m_nSteer = (this.m_nSteer - (3 * Car3D.MAX_STEER_SPEED)); }; this.m_nSteer = (this.m_nSteer - this.m_nSteerSpeed); if (this.m_nSteer < -(_local19)){ this.m_nSteer = -(_local19); }; }; if (((_local9) && ((this.m_nSteer < _local19)))){ this.m_nSteerSpeed = (this.m_nSteerSpeed + Car3D.STEER_SPEED_UP); if (this.m_nSteerSpeed > Car3D.MAX_STEER_SPEED){ this.m_nSteerSpeed = Car3D.MAX_STEER_SPEED; }; if (this.m_nSteer < 0){ this.m_nSteer = (this.m_nSteer + (3 * Car3D.MAX_STEER_SPEED)); }; this.m_nSteer = (this.m_nSteer + this.m_nSteerSpeed); if (this.m_nSteer > _local19){ this.m_nSteer = _local19; }; }; if (((!(_local8)) && (!(_local9)))){ this.m_nSteerSpeed = 0; if (this.m_nSteer < 0){ this.m_nSteer = (this.m_nSteer + (2 * Car3D.MAX_STEER_SPEED)); if (this.m_nSteer > 0){ this.m_nSteer = 0; }; }; if (this.m_nSteer > 0){ this.m_nSteer = (this.m_nSteer - (2 * Car3D.MAX_STEER_SPEED)); if (this.m_nSteer < 0){ this.m_nSteer = 0; }; }; }; _local20 = ((-(this.m_nSteer) * _local12) / (Car3D.SCALE_FACTOR * 400)); _local21 = _local14.clone(); _local21.add(_local16); _local21.add(_local17); _local21.add(_local15); _local21.add(_local18); _local21.nLength = (_local21.nLength / this.m_iMass); _local21.nLength = (_local21.nLength / Car3D.SCALE_FACTOR); this.m_p3dSpeed.add(_local21); if (this.m_nSteer != 0){ this.coords.rotateOnOwnY(_local20); }; _local22 = this.m_p3dSpeed.clone(); this.m_p3dSpeed.clone().nLength = (_local22.nLength / Car3D.SCALE_FACTOR); this.coords.translate(_local22); if (this.m_iGearTimer > 0){ this.m_iGearTimer--; }; this.dispatchEvent(new Event(Car3D.EVENT_UPDATE)); } public function setTarget(_arg1:DisplayObject, _arg2:DisplayObject){ if (this.p3dTarget == null){ this.p3dTarget = new Point3D(); }; this.p3dTarget.nX = (_arg1.x * Game.TRACK_SCALE); this.p3dTarget.nY = 0; this.p3dTarget.nZ = (-(_arg1.y) * Game.TRACK_SCALE); if (this.p3dTarget2 == null){ this.p3dTarget2 = new Point3D(); }; this.p3dTarget2.nX = (_arg2.x * Game.TRACK_SCALE); this.p3dTarget2.nY = 0; this.p3dTarget2.nZ = (-(_arg2.y) * Game.TRACK_SCALE); } } }//package
Section 43
//CarMarkAI (CarMarkAI) package { import flash.display.*; public dynamic class CarMarkAI extends Sprite { } }//package
Section 44
//CarMarkUser (CarMarkUser) package { import flash.display.*; public dynamic class CarMarkUser extends Sprite { } }//package
Section 45
//ControlPanel (ControlPanel) package { import flash.display.*; import flash.text.*; public class ControlPanel extends Sprite { public var tfSpeed:TextField; public var tfGear2:TextField; public var tfGear3:TextField; public var tfGear4:TextField; public var tfGear5:TextField; public var tfGear6:TextField; public var tfGear7:TextField; public var tfGear8:TextField; public var tfGear1:TextField; public var mcTransmission:MovieClip; public var mcTachometer:MovieClip; private static const COLOR_GEAR_ACTIVE = 0xFF00; private static const COLOR_GEAR_INACTIVE = 0xFFFFFF; public function ControlPanel(){ this.setGear(2); this.setSpeed(0); } public function setSpeed(_arg1:uint):void{ var _local2:String; _local2 = _arg1.toString(); if (_arg1 < 10){ _local2 = ("00" + _local2); } else { if (_arg1 < 100){ _local2 = ("0" + _local2); }; }; this.tfSpeed.text = _local2; this.mcTachometer.gotoAndStop((Math.floor(((38 * _arg1) / 200)) + 1)); if (this.mcTachometer.currentLabel == "frmRed"){ this.tfSpeed.textColor = 0xFF0000; } else { if (this.mcTachometer.currentLabel == "frmYellow"){ this.tfSpeed.textColor = 0xFFFF00; } else { if (this.mcTachometer.currentLabel == "frmGreen"){ this.tfSpeed.textColor = 0xCC00; }; }; }; } public function setGear(_arg1:uint):void{ this.mcTransmission.gotoAndStop((_arg1 + 1)); } public function setRPM(_arg1:uint):void{ } } }//package
Section 46
//Countdown (Countdown) package { import flash.display.*; public dynamic class Countdown extends MovieClip { public function Countdown(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame3(){ stop(); } function frame1(){ stop(); } function frame4(){ stop(); } function frame2(){ stop(); } } }//package
Section 47
//CountdownSound (CountdownSound) package { import flash.media.*; public dynamic class CountdownSound extends Sound { } }//package
Section 48
//Game (Game) package { import iriysoft.engine3d.*; import iriysoft.math.*; import flash.utils.*; import flash.display.*; import flash.events.*; import iriysoft.sound.*; import iriysoft.utils.*; import flash.text.*; import flash.system.*; import flash.geom.*; import flash.net.*; public class Game extends Sprite { private var dictHit:Dictionary; private var arrow:Arrow3D; private var aRivalResults:Array; private var ftimerCountdownTimer:FrameTimer; private var aCheckLines:Array; private var mcLapMessage:MovieClip; private var m_soundManager:SoundManager; private var sprRaceLoadingScreen:Sprite; private var beacon:Beacon3D; private var cameraRear:Camera3D; private var i:Number; private var sprCheckLines:Sprite; private var cameraMain:Camera3D; private var sprSubmitWindow:Sprite; private var sprTimer:Sprite; private var sprPauseWindow:Sprite; private var sprTrack:Sprite; private var iRivalFinish:int; private var controlPanel:ControlPanel; private var m_iLevel:int; private var m_bPause:Boolean; private var iTime:int; private var iFrameCounter:int; private var mcPosition:MovieClip; private var physics3D:Physics3D; private var btnPause:SimpleButton; private var sprTrainingScreen:Sprite; private var ftimerRaceTimer:FrameTimer; private var tfFPS:TextField; private var sprMainScreen:Sprite; private var mcCountdown:MovieClip; private var sprRearView:Sprite; private var sprCarMark:Sprite; private var char:String; private var sprRearViewMask:Sprite; private var url:String; private var mcResultsWindow:MovieClip; private var bFinish:Boolean; private var sprHowToPlayScreen:Sprite; private var oKeysPressed:Object; private var ftimerCheck:FrameTimer; private var mcSoundSwitch:MovieClip; private var sprSchemeTrack:Sprite; private var m_iState:int; private var m_iScore:int; private var dictPrevHit:Dictionary; private var carUser:Car3D; private var dictCars:Dictionary; private var scene3D:Scene3D; public static const STATE_MAINSCREEN:int = 1; private static const SND_HIT:String = "HitSound"; private static const SND_BUTTONOVER:String = "ButtonOverSound"; private static const TRACK_TEXTURE_WIDTH:int = 1300; public static const STATE_TRAININGSCREEN:int = 3; public static const TRACK_SCALE:Number = 2; private static const RIVALS_NUM:int = 4; private static const SND_COUNTDOWN:String = "CountdownSound"; private static const SND_RACEMUSIC:String = "RaceMusic"; public static const STATE_RACE:int = 4; private static const SND_GO:String = "GoSound"; private static const RACE_LAPS:int = 3; public static const STATE_TRAINING:int = 5; private static const SND_MESSAGE:String = "MessageSound"; private static const SND_MAINMUSIC:String = "MainMusic"; private static const SND_BUTTON:String = "ButtonSound"; private static const REMINDER_TIME:int = 5000; public static const STATE_HOWTOPLAYSCREEN:int = 2; private static const TRACK_TEXTURE_HEIGHT:int = 900; public function Game(){ this.m_bPause = false; this.m_soundManager = new SoundManager(); this.m_soundManager.addSound(Game.SND_MAINMUSIC); this.m_soundManager.addSound(Game.SND_RACEMUSIC); this.m_soundManager.addSound(Game.SND_BUTTON); this.m_soundManager.addSound(Game.SND_BUTTONOVER); this.m_soundManager.addSound(Game.SND_COUNTDOWN); this.m_soundManager.addSound(Game.SND_GO); this.m_soundManager.addSound(Game.SND_HIT); this.m_soundManager.addSound(Game.SND_MESSAGE); this.m_soundManager.setVolume(Game.SND_RACEMUSIC, 0.5); this.iState = Game.STATE_MAINSCREEN; this.addEventListener(Event.ADDED_TO_STAGE, this.onAddToStage); this.addEventListener(Event.REMOVED_FROM_STAGE, this.onRemoveFromStage); } private function onMouseOver(_arg1:MouseEvent):void{ if ((_arg1.target is SimpleButton)){ this.m_soundManager.playSound(Game.SND_BUTTONOVER); }; } private function onSubmitWindowClick(_arg1:MouseEvent):void{ var _local2:Boolean; _local2 = false; switch (_arg1.target){ case this.sprSubmitWindow.getChildByName("btnYes"): if (((!(((this.sprSubmitWindow.getChildByName("tfScore") as TextField).text == ""))) && ((this.m_iScore > 0)))){ _local2 = true; this.m_soundManager.playSound(Game.SND_BUTTON); this.submitScore((this.sprSubmitWindow.getChildByName("tfName") as TextField).text, this.m_iScore); }; break; case this.sprSubmitWindow.getChildByName("btnNo"): _local2 = true; this.m_soundManager.playSound(Game.SND_BUTTON); break; }; if (_local2){ this.removeChild(this.sprSubmitWindow); this.sprSubmitWindow = null; this.iState = Game.STATE_MAINSCREEN; }; } private function onKeyPress(_arg1:KeyboardEvent):void{ this.oKeysPressed[_arg1.keyCode] = true; if (!this.bFinish){ switch (_arg1.keyCode){ case 80: this.bPause = !(this.bPause); if (this.bPause){ this.sprPauseWindow = new PauseWindow(); this.addChild(this.sprPauseWindow); this.sprPauseWindow.addEventListener(MouseEvent.CLICK, this.onPauseWindowClick); } else { this.sprPauseWindow.removeEventListener(MouseEvent.CLICK, this.onPauseWindowClick); this.removeChild(this.sprPauseWindow); this.sprPauseWindow = null; }; break; }; }; } private function onSoundSwitchClick(_arg1:MouseEvent):void{ if (this.m_soundManager.soundOn){ this.m_soundManager.soundOn = false; ((_arg1.target as SimpleButton).parent as MovieClip).gotoAndStop("frmSoundOff"); } else { this.m_soundManager.soundOn = true; ((_arg1.target as SimpleButton).parent as MovieClip).gotoAndStop("frmSoundOn"); }; } private function initLevel(_arg1:uint){ var _local2:Class; var _local3:Class; var _local4:Class; var _local5:Class; var _local6:Class; var _local7:Sprite; var _local8:Bitmap; var _local9:Object3D; var _local10:Polygon3D; var _local11:int; var _local12:DisplayObject; var _local13:int; var _local14:Sprite; var _local15:DisplayObject; var _local16:Sprite; var _local17:int; var _local18:Sprite; var _local19:DisplayObject; var _local20:ObjectPseudo3D; var _local21:Point3D; var _local22:Number; var _local23:int; var _local24:Car3D; _local2 = (ApplicationDomain.currentDomain.getDefinition(("TrackTexture" + _arg1)) as Class); _local3 = (ApplicationDomain.currentDomain.getDefinition(("TrackRoad" + _arg1)) as Class); _local4 = (ApplicationDomain.currentDomain.getDefinition(("TrackLines" + _arg1)) as Class); _local5 = (ApplicationDomain.currentDomain.getDefinition(("TrackStarts" + _arg1)) as Class); _local6 = (ApplicationDomain.currentDomain.getDefinition(("TrackObjects" + _arg1)) as Class); this.scene3D = new Scene3D(); this.physics3D = new Physics3D(); this.physics3D.addEventListener(Event3D.PHYSICS_HIT, this.onPhysicsHit); _local7 = new (_local2); _local8 = new Bitmap(new BitmapData((TRACK_TEXTURE_WIDTH * TRACK_SCALE), (TRACK_TEXTURE_HEIGHT * TRACK_SCALE))); _local8.bitmapData.draw(_local7, new Matrix(TRACK_SCALE, 0, 0, TRACK_SCALE)); _local9 = new Object3D(new Point3D(0, 0, 0)); _local10 = new Polygon3D(new Point3D(-5000, 0, 5000), new Point3D(5000, 0, 5000), new Point3D(5000, 0, -5000), new Point3D(-5000, 0, -5000)); _local9.addPolygon(_local10); _local9.nZAtCamera = 40000000; this.scene3D.addObject(_local9); _local11 = 0; _local9 = new Object3D(new Point3D(0, 0, 0)); _local10 = new Polygon3D(new Point3D((((-(Game.TRACK_TEXTURE_WIDTH) * Game.TRACK_SCALE) / 2) + _local11), 0, (((Game.TRACK_TEXTURE_HEIGHT * Game.TRACK_SCALE) / 2) - _local11)), new Point3D((((Game.TRACK_TEXTURE_WIDTH * Game.TRACK_SCALE) / 2) - _local11), 0, (((Game.TRACK_TEXTURE_HEIGHT * Game.TRACK_SCALE) / 2) - _local11)), new Point3D((((Game.TRACK_TEXTURE_WIDTH * Game.TRACK_SCALE) / 2) - _local11), 0, (((-(Game.TRACK_TEXTURE_HEIGHT) * Game.TRACK_SCALE) / 2) + _local11)), new Point3D((((-(Game.TRACK_TEXTURE_WIDTH) * Game.TRACK_SCALE) / 2) + _local11), 0, (((-(Game.TRACK_TEXTURE_HEIGHT) * Game.TRACK_SCALE) / 2) + _local11))); _local10.applyTexture(_local8.bitmapData, new Point(1, 1), new Point(((TRACK_TEXTURE_WIDTH * TRACK_SCALE) - 1), 1), new Point(((TRACK_TEXTURE_WIDTH * TRACK_SCALE) - 1), ((TRACK_TEXTURE_HEIGHT * TRACK_SCALE) - 1)), new Point(1, ((TRACK_TEXTURE_HEIGHT * TRACK_SCALE) - 1))); _local9.addPolygon(_local10); _local9.nZAtCamera = 30000000; this.scene3D.addObject(_local9); this.cameraMain = new Camera3D(); this.cameraMain.name = "standartCamera"; this.cameraMain.nFOV = 80; this.scene3D.addCamera(this.cameraMain); this.addChild(this.cameraMain); this.mcPosition = new RacePosition(); this.mcPosition.x = 330; this.mcPosition.y = 45; this.addChild(this.mcPosition); if (this.iState == Game.STATE_RACE){ this.mcPosition.gotoAndStop(Game.RIVALS_NUM); }; (this.mcPosition.getChildByName("tfLap") as TextField).text = ("Lap 1/" + Game.RACE_LAPS); this.ftimerRaceTimer = new FrameTimer(this); this.sprTimer = new RaceTimer(); this.sprTimer.x = 220; this.sprTimer.y = 10; this.addChild(this.sprTimer); this.sprRearView = new RearViewMirror(); this.sprRearView.x = 10; this.sprRearView.y = 10; this.addChild(this.sprRearView); this.sprRearViewMask = new RearViewMask(); this.sprRearViewMask.x = this.sprRearView.x; this.sprRearViewMask.y = this.sprRearView.y; this.addChild(this.sprRearViewMask); this.cameraRear = new Camera3D(195, 91); this.cameraRear.name = "rearCamera"; this.cameraRear.scaleX = -1; this.cameraRear.x = 195; this.cameraRear.nFOV = 120; this.scene3D.addCamera(this.cameraRear); this.sprRearViewMask.addChild(this.cameraRear); this.sprSchemeTrack = new TrackScheme(); this.sprSchemeTrack.x = 470; this.sprSchemeTrack.y = 55; this.sprSchemeTrack.scaleX = 0.1; this.sprSchemeTrack.scaleY = this.sprSchemeTrack.scaleX; this.addChild(this.sprSchemeTrack); (this.sprSchemeTrack.getChildByName("tfLevel") as TextField).text = this.m_iLevel.toString(); this.sprTrack = new (_local3); this.sprSchemeTrack.addChild(this.sprTrack); this.sprCheckLines = new (_local4); this.sprCheckLines.visible = false; this.sprSchemeTrack.addChild(this.sprCheckLines); this.aCheckLines = new Array(); _local13 = 1; while (true) { _local12 = this.sprCheckLines.getChildByName(("mcCheck" + _local13)); if (_local12 != null){ this.aCheckLines.push(_local12); } else { break; }; _local13++; }; _local14 = new (_local5); this.dictCars = new Dictionary(); _local15 = _local14.getChildByName("mcStart0"); this.carUser = new Car3D(); this.carUser.iDriver = Car3D.DRIVER_USER; this.carUser.iCurrentCheck = (this.aCheckLines.length - 1); this.carUser.iNextCheck = 0; this.carUser.iCurrentLap = 0; this.carUser.setTarget(this.aCheckLines[this.carUser.iCurrentCheck], this.aCheckLines[this.carUser.iNextCheck]); this.carUser.addEventListener(Car3D.EVENT_UPDATE, this.onCarUpdate); this.scene3D.addObject(this.carUser); this.physics3D.addObject(this.carUser, 9, this.carUser.m_iMass); _local16 = new CarMarkUser(); this.sprSchemeTrack.addChild(_local16); this.dictCars[this.carUser] = _local16; this.carUser.coords.rotateOnY(((-(Math.PI) * _local15.rotation) / 180)); this.carUser.coords.translate(new Point3D((_local15.x * Game.TRACK_SCALE), 0, (-(_local15.y) * Game.TRACK_SCALE))); _local16.x = (this.carUser.coords.p3dOrigin.nX / Game.TRACK_SCALE); _local16.y = (-(this.carUser.coords.p3dOrigin.nZ) / Game.TRACK_SCALE); _local17 = 0; if (this.iState != Game.STATE_TRAINING){ _local13 = 1; while (true) { _local15 = _local14.getChildByName(("mcStart" + _local13)); if (_local15 == null){ break; }; _local24 = new Car3D(); _local24.iDriver = Car3D.DRIVER_AI; _local24.coords.rotateOnY(((-(Math.PI) * _local15.rotation) / 180)); _local24.coords.translate(new Point3D((_local15.x * Game.TRACK_SCALE), 0, (-(_local15.y) * Game.TRACK_SCALE))); _local24.iCurrentCheck = (this.aCheckLines.length - 1); _local24.iNextCheck = 0; _local24.iCurrentLap = 0; _local24.iSkill = _local17; _local24.setTarget(this.aCheckLines[_local24.iCurrentCheck], this.aCheckLines[_local24.iNextCheck]); _local24.addEventListener(Car3D.EVENT_UPDATE, this.onCarUpdate); this.scene3D.addObject(_local24); this.physics3D.addObject(_local24, 9, _local24.m_iMass); _local16 = new CarMarkAI(); this.sprSchemeTrack.addChild(_local16); this.dictCars[_local24] = _local16; _local16.x = (_local24.coords.p3dOrigin.nX / Game.TRACK_SCALE); _local16.y = (-(_local24.coords.p3dOrigin.nZ) / Game.TRACK_SCALE); _local13++; if (this.m_iLevel > 2){ _local17 = (_local17 + this.m_iLevel); } else { _local17 = (_local17 + 2); }; }; }; this.cameraMain.setTarget(Camera3D.MODE_TAIL, this.carUser.coords); this.cameraRear.setTarget(Camera3D.MODE_REAR_VIEW, this.carUser.coords); _local18 = new (_local6); _local21 = new Point3D(); _local23 = _local18.numChildren; _local13 = 0; while (_local13 < _local23) { _local19 = _local18.getChildAt(_local13); if ((_local19 is TreePlace)){ _local20 = new Tree3D(); _local22 = 2; } else { if ((_local19 is TiresRedPlace)){ _local20 = new TiresRed3D(); _local22 = 5; } else { if ((_local19 is TiresWhitePlace)){ _local20 = new TiresWhite3D(); _local22 = 5; }; }; }; _local21.nX = (_local19.x * Game.TRACK_SCALE); _local21.nZ = (-(_local19.y) * Game.TRACK_SCALE); _local20.coords.translate(_local21); this.scene3D.addObject(_local20); this.physics3D.addObject(_local20, _local22, Physics3D.MASS_INFINITE, false); _local13++; }; this.tfFPS = new TextField(); this.tfFPS.x = 10; this.tfFPS.y = 10; this.controlPanel = new ControlPanel(); this.controlPanel.x = 468; this.controlPanel.y = 377; this.addChild(this.controlPanel); this.btnPause = new Pause(); this.btnPause.x = 125; this.btnPause.y = 380; this.addChild(this.btnPause); this.btnPause.addEventListener(MouseEvent.CLICK, this.onPauseClick); this.mcSoundSwitch = new SoundSwitch(); this.mcSoundSwitch.x = 30; this.mcSoundSwitch.y = 380; this.addChild(this.mcSoundSwitch); this.mcSoundSwitch.addEventListener(MouseEvent.CLICK, this.onSoundSwitchClick); if (!this.m_soundManager.soundOn){ this.mcSoundSwitch.gotoAndStop("frmSoundOff"); } else { this.mcSoundSwitch.gotoAndStop("frmSoundOn"); }; this.iRivalFinish = 0; this.aRivalResults = new Array(); this.m_soundManager.playBackSound(Game.SND_RACEMUSIC); this.addEventListener(MouseEvent.MOUSE_OVER, this.onMouseOver); this.bFinish = true; } private function onRaceLoadingEnterFrame(_arg1:Event):void{ if (this.iFrameCounter > 0){ this.sprRaceLoadingScreen.removeEventListener(Event.ENTER_FRAME, this.onRaceLoadingEnterFrame); this.initLevel(this.m_iLevel); this.removeChild(this.sprRaceLoadingScreen); this.stage.focus = this.stage; this.iFrameCounter = 0; this.addEventListener(Event.ENTER_FRAME, this.onStartRaceEnterFrame); } else { this.iFrameCounter++; }; } private function onHowToPlayScreenMouseOver(_arg1:MouseEvent):void{ if ((_arg1.target is SimpleButton)){ this.m_soundManager.playSound(Game.SND_BUTTONOVER); }; } private function onPauseClick(_arg1:MouseEvent):void{ this.bPause = true; this.sprPauseWindow = new PauseWindow(); this.addChild(this.sprPauseWindow); this.sprPauseWindow.addEventListener(MouseEvent.CLICK, this.onPauseWindowClick); } private function onStageDeactivate(_arg1:Event):void{ this.oKeysPressed = new Object(); } private function onAddToStage(_arg1:Event):void{ this.oKeysPressed = new Object(); this.stage.addEventListener(KeyboardEvent.KEY_DOWN, this.onKeyPress); this.stage.addEventListener(KeyboardEvent.KEY_UP, this.onKeyRelease); this.stage.addEventListener(Event.DEACTIVATE, this.onStageDeactivate); } private function onCarUpdate(_arg1:Event):void{ var _local2:Car3D; var _local3:Sprite; var _local4:Point; var _local5:Point3D; var _local6:Point3D; var _local7:Number; var _local8:Number; var _local9:TextField; var _local10:TextField; var _local11:TextField; _local2 = Car3D(_arg1.target); _local3 = this.dictCars[_local2]; if (_local2 == this.carUser){ this.controlPanel.setGear(_local2.m_iGear); this.controlPanel.setSpeed(_local2.m_p3dSpeed.nLength); this.controlPanel.setRPM(_local2.m_iRPM); if (this.arrow != null){ this.carUser.coords.copyTo(this.arrow.coords); _local5 = this.carUser.coords.p3dOrigin.clone(); this.carUser.coords.p3dOrigin.clone().nLength = (_local5.nLength * -1); this.arrow.coords.translate(_local5); _local6 = this.carUser.p3dTarget.clone(); _local6.substract(this.carUser.coords.p3dOrigin); _local7 = Math.acos((_local6.findScalar(this.carUser.coords.p3dZAxis) / (_local6.nLength * this.carUser.coords.p3dZAxis.nLength))); _local6.rotateOnY((Math.PI / 2)); _local8 = (_local6.findScalar(this.carUser.coords.p3dZAxis) / (_local6.nLength * this.carUser.coords.p3dZAxis.nLength)); if (_local8 < 0){ _local7 = (_local7 * -1); }; this.arrow.coords.rotateOnY(_local7); _local5.nLength = (_local5.nLength * -1); _local5.nY = (_local5.nY + -15); this.arrow.coords.translate(_local5); }; }; _local3.x = (_local2.coords.p3dOrigin.nX / Game.TRACK_SCALE); _local3.y = (-(_local2.coords.p3dOrigin.nZ) / Game.TRACK_SCALE); _local4 = _local3.localToGlobal(new Point()); _local2.bOutOfTrack = !(this.sprTrack.hitTestPoint(_local4.x, _local4.y, true)); if (this.aCheckLines[_local2.iCurrentCheck].hitTestPoint(_local4.x, _local4.y, true)){ _local2.iCurrentCheck++; if (_local2.iCurrentCheck >= this.aCheckLines.length){ _local2.iCurrentCheck = 0; }; _local2.iNextCheck++; if (_local2.iNextCheck >= this.aCheckLines.length){ _local2.iNextCheck = 0; }; if (_local2 == this.carUser){ this.scene3D.removeObject(this.arrow); this.arrow = null; this.scene3D.removeObject(this.beacon); this.beacon = null; this.ftimerCheck.reset(); this.ftimerCheck.start(); }; _local2.setTarget(this.aCheckLines[_local2.iCurrentCheck], this.aCheckLines[_local2.iNextCheck]); if (_local2.iCurrentCheck == 0){ _local2.iCurrentLap++; if (_local2 == this.carUser){ (this.mcPosition.getChildByName("tfLap") as TextField).text = ((("Lap " + this.carUser.iCurrentLap) + "/") + Game.RACE_LAPS); if ((((this.carUser.iCurrentLap > 1)) && ((this.carUser.iCurrentLap <= Game.RACE_LAPS)))){ this.mcLapMessage = new LapMessage(); this.mcLapMessage.x = (this.stage.stageWidth / 2); this.mcLapMessage.y = (this.stage.stageHeight / 2); _local9 = ((this.mcLapMessage.getChildByName("mcMessage") as MovieClip).getChildByName("tfMessage1") as TextField); _local10 = ((this.mcLapMessage.getChildByName("mcMessage") as MovieClip).getChildByName("tfMessage2") as TextField); _local11 = ((this.mcLapMessage.getChildByName("mcMessage") as MovieClip).getChildByName("tfMessage3") as TextField); if (this.carUser.iCurrentLap < Game.RACE_LAPS){ _local9.text = ("LAP " + this.carUser.iCurrentLap.toString()); _local10.text = _local9.text; _local11.text = _local9.text; } else { _local9.text = "FINAL LAP!"; _local10.text = _local9.text; _local11.text = _local9.text; }; this.addChild(this.mcLapMessage); this.m_soundManager.playSound(Game.SND_MESSAGE); }; }; if (_local2.iCurrentLap > Game.RACE_LAPS){ if (_local2 == this.carUser){ this.bFinish = true; if (this.iState == Game.STATE_RACE){ this.m_iScore = (this.m_iScore + 500); this.m_iScore = (this.m_iScore + (6000 - (this.iRivalFinish * 2000))); this.m_iScore = (this.m_iScore + ((this.ftimerRaceTimer.nTime * 30000) / ((2 * 60) * 1000))); }; this.showResultsWindow(); } else { _local3 = (this.dictCars[_local2] as Sprite); this.sprSchemeTrack.removeChild(_local3); this.scene3D.removeObject(_local2); this.physics3D.removeObject(_local2); this.dictCars[_local2] = null; delete dictCars[_local2]; this.iRivalFinish++; this.aRivalResults.push(this.ftimerRaceTimer.nTime); }; }; }; }; } private function onMainScreenMouseOver(_arg1:MouseEvent):void{ if ((_arg1.target is SimpleButton)){ this.m_soundManager.playSound(Game.SND_BUTTONOVER); }; } public function get bPause():Boolean{ return (this.m_bPause); } public function setUILock(_arg1):void{ if ((((this.m_iState == Game.STATE_RACE)) || ((this.m_iState == Game.STATE_TRAINING)))){ if (_arg1){ this.removeChild(this.btnPause); } else { this.addChild(this.btnPause); }; }; } private function onHowToPlayScreenClick(_arg1:MouseEvent):void{ switch (_arg1.target){ case this.sprHowToPlayScreen.getChildByName("btnBack"): this.iState = Game.STATE_MAINSCREEN; this.m_soundManager.playSound(Game.SND_BUTTON); break; case (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOn"): this.m_soundManager.soundOn = true; (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); break; case (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOff"): this.m_soundManager.soundOn = false; (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); break; }; } private function onRaceEnterFrame(_arg1:Event):void{ var _local2:uint; var _local3:*; var _local4:String; var _local5:uint; var _local6:Car3D; var _local7:Point3D; var _local8:uint; var _local9:uint; var _local10:Number; var _local11:*; var _local12:*; _local2 = this.iTime; this.iTime = getTimer(); this.tfFPS.text = ("FPS: " + Math.round((1000 / (this.iTime - _local2)))); if (!this.bPause){ _local3 = FrameTimer.convertTime(this.ftimerRaceTimer.nTime); _local4 = _local3.minutes.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.sprTimer.getChildByName("tfMinutes") as TextField).text = _local4; _local4 = _local3.seconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.sprTimer.getChildByName("tfSeconds") as TextField).text = _local4; _local4 = _local3.milliseconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); } else { if (_local4.length < 3){ _local4 = ("00" + _local4); }; }; (this.sprTimer.getChildByName("tfMilliSeconds") as TextField).text = _local4; _local5 = (1 + this.iRivalFinish); _local7 = new Point3D(); _local8 = this.aCheckLines.length; _local9 = ((this.carUser.iCurrentLap * _local8) + this.carUser.iCurrentCheck); this.carUser.p3dTarget.copyTo(_local7); _local7.substract(this.carUser.coords.p3dOrigin); _local10 = _local7.nLength; for (_local11 in this.dictCars) { _local6 = (_local11 as Car3D); if (_local6 == this.carUser){ } else { if (((_local6.iCurrentLap * _local8) + _local6.iCurrentCheck) > _local9){ _local5++; } else { if (((_local6.iCurrentLap * _local8) + _local6.iCurrentCheck) == _local9){ _local6.p3dTarget.copyTo(_local7); _local7.substract(_local6.coords.p3dOrigin); if (_local7.nLength < _local10){ _local5++; }; }; }; }; }; this.mcPosition.gotoAndStop(_local5); for (_local12 in this.dictCars) { _local6 = Car3D(_local12); _local6.process(this.oKeysPressed); }; if (this.dictHit != null){ this.dictPrevHit = this.dictHit; } else { this.dictPrevHit = new Dictionary(); }; this.dictHit = new Dictionary(); this.physics3D.process(); }; } private function onTrainingScreenClick(_arg1:MouseEvent):void{ switch (_arg1.target){ case this.sprTrainingScreen.getChildByName("btnBack"): this.iState = Game.STATE_MAINSCREEN; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprTrainingScreen.getChildByName("btnLevel1"): this.m_iLevel = 1; this.iState = Game.STATE_TRAINING; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprTrainingScreen.getChildByName("btnLevel2"): this.m_iLevel = 2; this.iState = Game.STATE_TRAINING; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprTrainingScreen.getChildByName("btnLevel3"): this.m_iLevel = 3; this.iState = Game.STATE_TRAINING; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprTrainingScreen.getChildByName("btnLevel4"): this.m_iLevel = 4; this.iState = Game.STATE_TRAINING; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprTrainingScreen.getChildByName("btnLevel5"): this.m_iLevel = 5; this.iState = Game.STATE_TRAINING; this.m_soundManager.playSound(Game.SND_BUTTON); break; case (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOn"): this.m_soundManager.soundOn = true; (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); break; case (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOff"): this.m_soundManager.soundOn = false; (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); break; }; } private function onPhysicsHit(_arg1:Event3D):void{ if ((((_arg1.op3dSource1 == this.carUser)) || ((_arg1.op3dSource2 == this.carUser)))){ if (((!((this.dictPrevHit[_arg1.op3dSource1] == _arg1.op3dSource2))) && (!((this.dictPrevHit[_arg1.op3dSource2] == _arg1.op3dSource1))))){ this.m_soundManager.playSound(Game.SND_HIT); }; this.dictHit[_arg1.op3dSource1] = _arg1.op3dSource2; }; } private function onMainScreenClick(_arg1:MouseEvent):void{ switch (_arg1.target){ case this.sprMainScreen.getChildByName("btnChampionship"): this.m_iLevel = 1; this.iState = Game.STATE_RACE; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprMainScreen.getChildByName("btnTraining"): this.iState = Game.STATE_TRAININGSCREEN; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprMainScreen.getChildByName("btnHowToPlay"): this.iState = Game.STATE_HOWTOPLAYSCREEN; this.m_soundManager.playSound(Game.SND_BUTTON); break; case (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOn"): this.m_soundManager.soundOn = true; (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); break; case (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).getChildByName("btnSoundOff"): this.m_soundManager.soundOn = false; (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); break; }; } private function onTrainingScreenMouseOver(_arg1:MouseEvent):void{ if ((_arg1.target is SimpleButton)){ this.m_soundManager.playSound(Game.SND_BUTTONOVER); }; } public function set iState(_arg1:int):void{ var _local2:*; switch (this.m_iState){ case Game.STATE_MAINSCREEN: this.sprMainScreen.removeEventListener(MouseEvent.CLICK, this.onMainScreenClick); this.sprMainScreen.removeEventListener(MouseEvent.MOUSE_OVER, this.onMainScreenMouseOver); this.removeChild(this.sprMainScreen); this.sprMainScreen = null; break; case Game.STATE_HOWTOPLAYSCREEN: this.sprHowToPlayScreen.removeEventListener(MouseEvent.CLICK, this.onHowToPlayScreenClick); this.sprHowToPlayScreen.removeEventListener(MouseEvent.MOUSE_OVER, this.onHowToPlayScreenMouseOver); this.removeChild(this.sprHowToPlayScreen); this.sprHowToPlayScreen = null; break; case Game.STATE_TRAININGSCREEN: this.sprTrainingScreen.removeEventListener(MouseEvent.CLICK, this.onTrainingScreenClick); this.sprTrainingScreen.removeEventListener(MouseEvent.MOUSE_OVER, this.onTrainingScreenMouseOver); this.removeChild(this.sprTrainingScreen); this.sprTrainingScreen = null; break; case Game.STATE_RACE: case Game.STATE_TRAINING: this.physics3D.removeEventListener(Event3D.PHYSICS_HIT, this.onPhysicsHit); this.removeEventListener(Event.ENTER_FRAME, this.onRaceEnterFrame); this.removeEventListener(MouseEvent.MOUSE_OVER, this.onMouseOver); this.ftimerCheck.removeEventListener(TimerEvent.TIMER_COMPLETE, this.onCheckTimerComplete); this.removeChild(this.cameraMain); this.cameraMain = null; this.cameraRear = null; this.scene3D = null; this.physics3D = null; this.carUser = null; for (_local2 in this.dictCars) { this.dictCars[_local2] = null; delete this.dictCars[_local2]; }; this.removeChild(this.sprSchemeTrack); this.sprSchemeTrack = null; this.sprCarMark = null; this.sprTrack = null; this.sprCheckLines = null; this.removeChild(this.sprRearView); this.sprRearView = null; this.removeChild(this.sprRearViewMask); this.sprRearViewMask = null; this.removeChild(this.sprTimer); this.sprTimer = null; this.removeChild(this.mcPosition); this.mcPosition = null; this.removeChild(this.mcCountdown); this.mcCountdown = null; this.btnPause = null; this.removeChild(this.controlPanel); this.controlPanel = null; this.removeChild(this.mcSoundSwitch); this.mcSoundSwitch = null; if (this.arrow != null){ this.arrow = null; }; if (this.beacon != null){ this.beacon = null; }; break; }; this.m_iState = _arg1; switch (this.m_iState){ case Game.STATE_MAINSCREEN: this.sprMainScreen = new MainScreen(); this.addChild(this.sprMainScreen); this.sprMainScreen.addEventListener(MouseEvent.CLICK, this.onMainScreenClick); this.sprMainScreen.addEventListener(MouseEvent.MOUSE_OVER, this.onMainScreenMouseOver); if (!this.m_soundManager.soundOn){ (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); } else { (this.sprMainScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); }; this.m_soundManager.playBackSound(Game.SND_MAINMUSIC); break; case Game.STATE_HOWTOPLAYSCREEN: this.sprHowToPlayScreen = new HowToPlayScreen(); this.addChild(this.sprHowToPlayScreen); this.sprHowToPlayScreen.addEventListener(MouseEvent.CLICK, this.onHowToPlayScreenClick); this.sprHowToPlayScreen.addEventListener(MouseEvent.MOUSE_OVER, this.onHowToPlayScreenMouseOver); if (!this.m_soundManager.soundOn){ (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); } else { (this.sprHowToPlayScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); }; this.m_soundManager.playBackSound(Game.SND_MAINMUSIC); break; case Game.STATE_TRAININGSCREEN: this.sprTrainingScreen = new TrainingScreen(); this.addChild(this.sprTrainingScreen); this.sprTrainingScreen.addEventListener(MouseEvent.CLICK, this.onTrainingScreenClick); this.sprTrainingScreen.addEventListener(MouseEvent.MOUSE_OVER, this.onTrainingScreenMouseOver); if (!this.m_soundManager.soundOn){ (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOff"); } else { (this.sprTrainingScreen.getChildByName("mcSoundSwitch") as MovieClip).gotoAndStop("frmSoundOn"); }; this.m_soundManager.playBackSound(Game.SND_MAINMUSIC); break; case Game.STATE_RACE: this.m_iScore = 0; case Game.STATE_TRAINING: this.sprRaceLoadingScreen = new RaceLoadingScreen(); this.addChild(this.sprRaceLoadingScreen); this.sprRaceLoadingScreen.addEventListener(Event.ENTER_FRAME, this.onRaceLoadingEnterFrame); this.iFrameCounter = 0; this.m_soundManager.stopBackSound(); break; }; } private function onCountdownTimer(_arg1:TimerEvent):void{ this.mcCountdown.play(); this.m_soundManager.playSound(Game.SND_COUNTDOWN); } private function onRemoveFromStage(_arg1:Event):void{ this.stage.removeEventListener(KeyboardEvent.KEY_DOWN, this.onKeyPress); this.stage.removeEventListener(KeyboardEvent.KEY_UP, this.onKeyRelease); this.stage.removeEventListener(Event.DEACTIVATE, this.onStageDeactivate); } private function submitScore(_arg1:String, _arg2:int):void{ var tgtUrl:*; var request:URLRequest; var EncryptString:Function; var sName = _arg1; var iScore = _arg2; EncryptString = function (_arg1){ var _local2:*; var _local3:*; _local2 = "121212121212121212212212221222221121212121212121212212212221222221121212121212121212212212221222221121212121212121212212212221222221121212121212121212212212221222221121212121212121212212212221222221121212121212121212212212221222221"; _local3 = ""; i = 0; while (i < _arg1.length) { char = (Number(_local2.substr(i, 1)) + _arg1.charCodeAt(i)); _local3 = (_local3 + String.fromCharCode(char)); i++; }; return (_local3); }; trace(sName, iScore); url = (((("&namee" + sName) + "&scoree") + iScore) + "&passecoolgames"); tgtUrl = ("http://www.flashgames247.com/scores/race3d/index.php?" + EncryptString(url)); request = new URLRequest(tgtUrl); navigateToURL(request, "_blank"); } public function set bPause(_arg1):void{ this.m_bPause = _arg1; this.setUILock(this.m_bPause); if (this.m_bPause){ this.cameraMain.stopRender(); this.cameraRear.stopRender(); if (this.ftimerCheck != null){ this.ftimerCheck.stop(); }; if (this.ftimerRaceTimer != null){ this.ftimerRaceTimer.stop(); }; } else { this.cameraMain.startRender(); this.cameraRear.startRender(); if (this.ftimerCheck != null){ this.ftimerCheck.resume(); }; if (this.ftimerRaceTimer != null){ this.ftimerRaceTimer.resume(); }; }; } private function showResultsWindow():void{ var _local1:Number; var _local2:Object; var _local3:int; var _local4:String; var _local5:int; var _local6:Array; var _local7:Car3D; var _local8:Number; var _local9:int; var _local10:*; this.mcResultsWindow = new ResultsWindow(); this.addChild(this.mcResultsWindow); if (this.iState == Game.STATE_TRAINING){ this.mcResultsWindow.gotoAndStop("frmFinish"); _local1 = this.ftimerRaceTimer.nTime; _local2 = FrameTimer.convertTime((_local1 + Math.round((Math.random() * 100)))); _local4 = _local2.minutes.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; this.mcResultsWindow.mcResult.tfMinutes.text = _local4; _local4 = _local2.seconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; this.mcResultsWindow.mcResult.tfSeconds.text = _local4; _local4 = _local2.milliseconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); } else { if (_local4.length < 3){ _local4 = ("00" + _local4); }; }; this.mcResultsWindow.mcResult.tfMilliSeconds.text = _local4; } else { this.mcResultsWindow.mcResult.visible = false; if (this.iRivalFinish <= 1){ if (this.m_iLevel == 5){ this.mcResultsWindow.gotoAndStop("frmTotalWin"); } else { this.mcResultsWindow.gotoAndStop("frmWin"); }; } else { this.mcResultsWindow.gotoAndStop("frmLose"); }; _local3 = 1; _local5 = 0; while (_local5 < this.iRivalFinish) { _local2 = FrameTimer.convertTime((this.aRivalResults[_local5] + Math.round((Math.random() * 100)))); _local4 = _local2.minutes.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfMinutes" + _local3)) as TextField).text = _local4; _local4 = _local2.seconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfSeconds" + _local3)) as TextField).text = _local4; _local4 = _local2.milliseconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); } else { if (_local4.length < 3){ _local4 = ("00" + _local4); }; }; (this.mcResultsWindow.getChildByName(("tfMilliSeconds" + _local3)) as TextField).text = _local4; _local3++; _local5++; }; _local1 = this.ftimerRaceTimer.nTime; _local2 = FrameTimer.convertTime((_local1 + Math.round((Math.random() * 100)))); _local4 = _local2.minutes.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfMinutes" + _local3)) as TextField).text = _local4; _local4 = _local2.seconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfSeconds" + _local3)) as TextField).text = _local4; _local4 = _local2.milliseconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); } else { if (_local4.length < 3){ _local4 = ("00" + _local4); }; }; (this.mcResultsWindow.getChildByName(("tfMilliSeconds" + _local3)) as TextField).text = _local4; _local3++; (this.mcResultsWindow.getChildByName("mcPositionLine") as MovieClip).gotoAndStop((this.iRivalFinish + 1)); _local6 = new Array(); _local9 = this.aCheckLines.length; for (_local10 in this.dictCars) { _local7 = (_local10 as Car3D); if (_local7 != this.carUser){ _local8 = _local1; _local8 = (_local8 + ((((Game.RACE_LAPS - _local7.iCurrentLap) * _local9) + (_local9 - _local7.iCurrentCheck)) * 1100)); _local6.push(_local8); }; }; _local6.sort(Array.NUMERIC); _local5 = 0; while (_local3 <= Game.RIVALS_NUM) { _local2 = FrameTimer.convertTime((_local6[_local5] + Math.round((Math.random() * 100)))); _local4 = _local2.minutes.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfMinutes" + _local3)) as TextField).text = _local4; _local4 = _local2.seconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); }; (this.mcResultsWindow.getChildByName(("tfSeconds" + _local3)) as TextField).text = _local4; _local4 = _local2.milliseconds.toString(); if (_local4.length < 2){ _local4 = ("0" + _local4); } else { if (_local4.length < 3){ _local4 = ("00" + _local4); }; }; (this.mcResultsWindow.getChildByName(("tfMilliSeconds" + _local3)) as TextField).text = _local4; _local3++; _local5++; }; }; this.sprTimer.visible = false; this.bPause = true; this.mcResultsWindow.addEventListener(MouseEvent.CLICK, this.onResultsWindowClick); this.m_soundManager.playBackSound(Game.SND_MAINMUSIC); } private function onPauseWindowClick(_arg1:MouseEvent):void{ var _local2:Boolean; _local2 = false; switch (_arg1.target){ case this.sprPauseWindow.getChildByName("btnResume"): this.sprPauseWindow.removeEventListener(MouseEvent.CLICK, this.onPauseWindowClick); this.bPause = false; _local2 = true; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.sprPauseWindow.getChildByName("btnExit"): if (this.iState == Game.STATE_TRAINING){ this.iState = Game.STATE_TRAININGSCREEN; } else { if (this.iState == Game.STATE_RACE){ this.iState = Game.STATE_MAINSCREEN; }; }; _local2 = true; this.m_soundManager.playSound(Game.SND_BUTTON); break; }; if (_local2){ this.removeChild(this.sprPauseWindow); this.sprPauseWindow = null; this.stage.focus = this.stage; }; } public function get iState():int{ return (this.m_iState); } private function onCountdownTimerComplete(_arg1:TimerEvent):void{ this.ftimerRaceTimer.start(); this.ftimerCheck = new FrameTimer(this, Game.REMINDER_TIME, 1); this.ftimerCheck.addEventListener(TimerEvent.TIMER_COMPLETE, this.onCheckTimerComplete); this.ftimerCheck.start(); this.m_soundManager.playSound(Game.SND_GO); this.bPause = false; this.bFinish = false; } private function onCheckTimerComplete(_arg1:TimerEvent):void{ this.arrow = new Arrow3D(); this.scene3D.addObject(this.arrow); this.beacon = new Beacon3D(); this.beacon.coords.translate(new Point3D((this.aCheckLines[this.carUser.iCurrentCheck].x * Game.TRACK_SCALE), 0, (-(this.aCheckLines[this.carUser.iCurrentCheck].y) * Game.TRACK_SCALE))); this.scene3D.addObject(this.beacon); } private function showSubmitWindow():void{ this.sprSubmitWindow = new SubmitWindow(); this.addChild(this.sprSubmitWindow); (this.sprSubmitWindow.getChildByName("tfScore") as TextField).text = this.m_iScore.toString(); this.stage.focus = (this.sprSubmitWindow.getChildByName("tfScore") as TextField); this.sprSubmitWindow.addEventListener(MouseEvent.CLICK, this.onSubmitWindowClick); this.m_soundManager.playBackSound(Game.SND_MAINMUSIC); } private function onStartRaceEnterFrame(_arg1:Event):void{ if (this.iFrameCounter > 1){ this.removeEventListener(Event.ENTER_FRAME, this.onStartRaceEnterFrame); this.addEventListener(Event.ENTER_FRAME, this.onRaceEnterFrame); this.mcCountdown = new Countdown(); this.mcCountdown.x = (this.stage.stageWidth / 2); this.mcCountdown.y = (this.stage.stageHeight / 2); this.addChild(this.mcCountdown); this.ftimerCountdownTimer = new FrameTimer(this, 1000, 3); this.ftimerCountdownTimer.addEventListener(TimerEvent.TIMER, this.onCountdownTimer); this.ftimerCountdownTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.onCountdownTimerComplete); this.ftimerCountdownTimer.start(); this.m_soundManager.playSound(Game.SND_COUNTDOWN); this.bPause = true; } else { this.iFrameCounter++; }; } private function onResultsWindowClick(_arg1:MouseEvent):void{ switch (_arg1.target){ case this.mcResultsWindow.getChildByName("btnNext"): this.removeChild(this.mcResultsWindow); this.mcResultsWindow = null; this.m_iLevel++; this.iState = Game.STATE_RACE; this.m_soundManager.playSound(Game.SND_BUTTON); break; case this.mcResultsWindow.getChildByName("btnExit"): this.removeChild(this.mcResultsWindow); this.mcResultsWindow = null; if (this.iState == Game.STATE_TRAINING){ this.iState = Game.STATE_TRAININGSCREEN; } else { if (this.iState == Game.STATE_RACE){ this.showSubmitWindow(); }; }; this.m_soundManager.playSound(Game.SND_BUTTON); break; }; } private function onKeyRelease(_arg1:KeyboardEvent):void{ delete this.oKeysPressed[_arg1.keyCode]; } } }//package
Section 49
//GoSound (GoSound) package { import flash.media.*; public dynamic class GoSound extends Sound { } }//package
Section 50
//HitSound (HitSound) package { import flash.media.*; public dynamic class HitSound extends Sound { } }//package
Section 51
//HowToPlayScreen (HowToPlayScreen) package { import flash.display.*; public dynamic class HowToPlayScreen extends Sprite { public var btnBack:SimpleButton; public var mcSoundSwitch:SoundSwitch; } }//package
Section 52
//LapMessage (LapMessage) package { import flash.display.*; public dynamic class LapMessage extends MovieClip { public var mcMessage:MovieClip; public function LapMessage(){ addFrameScript(7, frame8); } function frame8(){ stop(); } } }//package
Section 53
//Main (Main) package { import flash.events.*; import flash.display.*; import flash.net.*; public class Main extends MovieClip { public var anim:MovieClip; public var bt1:SimpleButton; public var bt3:SimpleButton; public var bt2:SimpleButton; public var btbig:SimpleButton; public var preloader:MovieClip; public var introComplete:Boolean; private static const PRELOADER_FRAME:String = "Preloader"; private static const GAME_FRAME:String = "Game"; private static const GAME_CLASS_NAME:String = "Game"; public function Main(){ addFrameScript(0, frame1, 2, frame3, 25, frame26); introComplete = false; preloader.btStart.visible = false; this.bt1.addEventListener(MouseEvent.CLICK, this.fgbut); this.bt2.addEventListener(MouseEvent.CLICK, this.fgbut); this.anim.prebut.addEventListener(MouseEvent.CLICK, this.fgbut); this.bt3.addEventListener(MouseEvent.CLICK, this.fgbut2); if (this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal){ preloader.gotoAndStop(2); preloader.btStart.visible = true; preloader.btStart.addEventListener(MouseEvent.CLICK, this.startGame); trace(preloader.btStart); } else { this.gotoAndStop(_slot1.PRELOADER_FRAME); this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, this.onLoadProgress); this.loaderInfo.addEventListener(Event.COMPLETE, this.onLoadComplete); }; } private function fgbut2(_arg1:MouseEvent):void{ var _local2:*; var _local3:URLRequest; _local2 = "http://www.flashgames247.com/pages/freegames.html"; _local3 = new URLRequest(_local2); navigateToURL(_local3, "_blank"); } private function fgbut(_arg1:MouseEvent):void{ var _local2:*; var _local3:URLRequest; _local2 = "http://www.flashgames247.com/"; _local3 = new URLRequest(_local2); navigateToURL(_local3, "_blank"); } function frame1(){ stop(); } function frame26(){ trace(("btbig=" + btbig)); this.btbig.addEventListener(MouseEvent.CLICK, this.fgbut); } private function isLock(){ var _local1:String; var _local2:String; var _local3:Class; var _local4:Sprite; _local1 = "flashgames247.com"; _local2 = this.root.loaderInfo.url.split("/")[2]; this.gotoAndStop(_slot1.GAME_FRAME); _local3 = (this.loaderInfo.applicationDomain.getDefinition(_slot1.GAME_CLASS_NAME) as Class); _local4 = (new (_local3) as Sprite); this.addChild(_local4); } public function startGame(_arg1:MouseEvent):void{ trace("Start game"); isLock(); } function frame3(){ stop(); } private function onLoadProgress(_arg1:ProgressEvent):void{ var _local2:Number; _local2 = (_arg1.bytesLoaded / _arg1.bytesTotal); preloader.gotoAndStop(1); preloader.tfPercents.text = (Math.floor((100 * _local2)) + " %"); } private function onLoadComplete(_arg1:Event):void{ this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, this.onLoadProgress); this.loaderInfo.removeEventListener(Event.COMPLETE, this.onLoadComplete); preloader.gotoAndStop(2); preloader.btStart.visible = true; preloader.btStart.addEventListener(MouseEvent.CLICK, this.startGame); trace(preloader.btStart); } } }//package
Section 54
//MainMusic (MainMusic) package { import flash.media.*; public dynamic class MainMusic extends Sound { } }//package
Section 55
//MainScreen (MainScreen) package { import flash.display.*; public dynamic class MainScreen extends Sprite { public var btnTraining:SimpleButton; public var btnChampionship:SimpleButton; public var mcSoundSwitch:SoundSwitch; public var btnHowToPlay:SimpleButton; } }//package
Section 56
//MessageSound (MessageSound) package { import flash.media.*; public dynamic class MessageSound extends Sound { } }//package
Section 57
//Pause (Pause) package { import flash.display.*; public dynamic class Pause extends SimpleButton { } }//package
Section 58
//PauseWindow (PauseWindow) package { import flash.display.*; public dynamic class PauseWindow extends Sprite { public var btnExit:SimpleButton; public var btnResume:SimpleButton; } }//package
Section 59
//RaceLoadingScreen (RaceLoadingScreen) package { import flash.display.*; public dynamic class RaceLoadingScreen extends Sprite { } }//package
Section 60
//RaceMusic (RaceMusic) package { import flash.media.*; public dynamic class RaceMusic extends Sound { } }//package
Section 61
//RacePosition (RacePosition) package { import flash.display.*; import flash.text.*; public dynamic class RacePosition extends MovieClip { public var tfLap:TextField; public function RacePosition(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 62
//RaceTimer (RaceTimer) package { import flash.display.*; import flash.text.*; public dynamic class RaceTimer extends Sprite { public var tfMinutes:TextField; public var tfMilliSeconds:TextField; public var tfSeconds:TextField; } }//package
Section 63
//RearViewMask (RearViewMask) package { import flash.display.*; public dynamic class RearViewMask extends Sprite { } }//package
Section 64
//RearViewMirror (RearViewMirror) package { import flash.display.*; public dynamic class RearViewMirror extends Sprite { } }//package
Section 65
//ResultsWindow (ResultsWindow) package { import flash.display.*; import flash.text.*; public dynamic class ResultsWindow extends MovieClip { public var tfSeconds2:TextField; public var tfSeconds1:TextField; public var tfMilliSeconds1:TextField; public var tfSeconds4:TextField; public var tfMilliSeconds4:TextField; public var tfMilliSeconds2:TextField; public var tfMilliSeconds3:TextField; public var tfSeconds3:TextField; public var mcResult:MovieClip; public var btnNext:SimpleButton; public var btnExit:SimpleButton; public var mcPositionLine:MovieClip; public var tfMinutes2:TextField; public var tfMinutes3:TextField; public var tfMinutes4:TextField; public var tfMinutes1:TextField; } }//package
Section 66
//SoundSwitch (SoundSwitch) package { import flash.display.*; public dynamic class SoundSwitch extends MovieClip { public var btnSoundOff:SimpleButton; public var btnSoundOn:SimpleButton; public function SoundSwitch(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 67
//SubmitWindow (SubmitWindow) package { import flash.display.*; import flash.text.*; public dynamic class SubmitWindow extends Sprite { public var tfName:TextField; public var btnNo:SimpleButton; public var tfScore:TextField; public var btnYes:SimpleButton; } }//package
Section 68
//TiresRed3D (TiresRed3D) package { import iriysoft.engine3d.*; public dynamic class TiresRed3D extends ObjectPseudo3D { } }//package
Section 69
//TiresRedPlace (TiresRedPlace) package { import flash.display.*; public dynamic class TiresRedPlace extends Sprite { } }//package
Section 70
//TiresWhite3D (TiresWhite3D) package { import iriysoft.engine3d.*; public dynamic class TiresWhite3D extends ObjectPseudo3D { } }//package
Section 71
//TiresWhitePlace (TiresWhitePlace) package { import flash.display.*; public dynamic class TiresWhitePlace extends Sprite { } }//package
Section 72
//TrackLines1 (TrackLines1) package { import flash.display.*; public dynamic class TrackLines1 extends Sprite { public var mcCheck1:MovieClip; public var mcCheck4:MovieClip; public var mcCheck5:MovieClip; public var mcCheck2:MovieClip; public var mcCheck3:MovieClip; public var mcCheck7:MovieClip; public var mcCheck8:MovieClip; public var mcCheck9:MovieClip; public var mcCheck6:MovieClip; public var mcCheck10:MovieClip; public var mcCheck12:MovieClip; public var mcCheck16:MovieClip; public var mcCheck18:MovieClip; public var mcCheck19:MovieClip; public var mcCheck13:MovieClip; public var mcCheck15:MovieClip; public var mcCheck17:MovieClip; public var mcCheck21:MovieClip; public var mcCheck22:MovieClip; public var mcCheck24:MovieClip; public var mcCheck25:MovieClip; public var mcCheck26:MovieClip; public var mcCheck20:MovieClip; public var mcCheck29:MovieClip; public var mcCheck23:MovieClip; public var mcCheck27:MovieClip; public var mcCheck11:MovieClip; public var mcCheck14:MovieClip; public var mcCheck30:MovieClip; public var mcCheck31:MovieClip; public var mcCheck28:MovieClip; } }//package
Section 73
//TrackLines2 (TrackLines2) package { import flash.display.*; public dynamic class TrackLines2 extends Sprite { public var mcCheck1:MovieClip; public var mcCheck4:MovieClip; public var mcCheck5:MovieClip; public var mcCheck2:MovieClip; public var mcCheck3:MovieClip; public var mcCheck7:MovieClip; public var mcCheck8:MovieClip; public var mcCheck9:MovieClip; public var mcCheck6:MovieClip; public var mcCheck10:MovieClip; public var mcCheck12:MovieClip; public var mcCheck16:MovieClip; public var mcCheck18:MovieClip; public var mcCheck19:MovieClip; public var mcCheck13:MovieClip; public var mcCheck15:MovieClip; public var mcCheck11:MovieClip; public var mcCheck17:MovieClip; public var mcCheck21:MovieClip; public var mcCheck22:MovieClip; public var mcCheck24:MovieClip; public var mcCheck25:MovieClip; public var mcCheck26:MovieClip; public var mcCheck20:MovieClip; public var mcCheck23:MovieClip; public var mcCheck27:MovieClip; public var mcCheck14:MovieClip; } }//package
Section 74
//TrackLines3 (TrackLines3) package { import flash.display.*; public dynamic class TrackLines3 extends Sprite { public var mcCheck1:MovieClip; public var mcCheck4:MovieClip; public var mcCheck5:MovieClip; public var mcCheck2:MovieClip; public var mcCheck3:MovieClip; public var mcCheck7:MovieClip; public var mcCheck8:MovieClip; public var mcCheck9:MovieClip; public var mcCheck6:MovieClip; public var mcCheck10:MovieClip; public var mcCheck12:MovieClip; public var mcCheck16:MovieClip; public var mcCheck18:MovieClip; public var mcCheck19:MovieClip; public var mcCheck13:MovieClip; public var mcCheck15:MovieClip; public var mcCheck17:MovieClip; public var mcCheck21:MovieClip; public var mcCheck22:MovieClip; public var mcCheck24:MovieClip; public var mcCheck25:MovieClip; public var mcCheck26:MovieClip; public var mcCheck20:MovieClip; public var mcCheck29:MovieClip; public var mcCheck23:MovieClip; public var mcCheck27:MovieClip; public var mcCheck11:MovieClip; public var mcCheck14:MovieClip; public var mcCheck30:MovieClip; public var mcCheck28:MovieClip; } }//package
Section 75
//TrackLines4 (TrackLines4) package { import flash.display.*; public dynamic class TrackLines4 extends Sprite { public var mcCheck1:MovieClip; public var mcCheck4:MovieClip; public var mcCheck5:MovieClip; public var mcCheck2:MovieClip; public var mcCheck3:MovieClip; public var mcCheck7:MovieClip; public var mcCheck8:MovieClip; public var mcCheck9:MovieClip; public var mcCheck6:MovieClip; public var mcCheck10:MovieClip; public var mcCheck12:MovieClip; public var mcCheck16:MovieClip; public var mcCheck18:MovieClip; public var mcCheck19:MovieClip; public var mcCheck13:MovieClip; public var mcCheck15:MovieClip; public var mcCheck17:MovieClip; public var mcCheck21:MovieClip; public var mcCheck22:MovieClip; public var mcCheck24:MovieClip; public var mcCheck25:MovieClip; public var mcCheck26:MovieClip; public var mcCheck20:MovieClip; public var mcCheck29:MovieClip; public var mcCheck23:MovieClip; public var mcCheck27:MovieClip; public var mcCheck11:MovieClip; public var mcCheck14:MovieClip; public var mcCheck30:MovieClip; public var mcCheck28:MovieClip; } }//package
Section 76
//TrackLines5 (TrackLines5) package { import flash.display.*; public dynamic class TrackLines5 extends Sprite { public var mcCheck11:MovieClip; public var mcCheck34:MovieClip; public var mcCheck1:MovieClip; public var mcCheck4:MovieClip; public var mcCheck5:MovieClip; public var mcCheck2:MovieClip; public var mcCheck3:MovieClip; public var mcCheck7:MovieClip; public var mcCheck8:MovieClip; public var mcCheck9:MovieClip; public var mcCheck6:MovieClip; public var mcCheck10:MovieClip; public var mcCheck12:MovieClip; public var mcCheck16:MovieClip; public var mcCheck18:MovieClip; public var mcCheck19:MovieClip; public var mcCheck13:MovieClip; public var mcCheck15:MovieClip; public var mcCheck17:MovieClip; public var mcCheck21:MovieClip; public var mcCheck22:MovieClip; public var mcCheck24:MovieClip; public var mcCheck25:MovieClip; public var mcCheck26:MovieClip; public var mcCheck20:MovieClip; public var mcCheck29:MovieClip; public var mcCheck23:MovieClip; public var mcCheck27:MovieClip; public var mcCheck14:MovieClip; public var mcCheck30:MovieClip; public var mcCheck32:MovieClip; public var mcCheck31:MovieClip; public var mcCheck33:MovieClip; public var mcCheck28:MovieClip; } }//package
Section 77
//TrackObjects1 (TrackObjects1) package { import flash.display.*; public dynamic class TrackObjects1 extends Sprite { } }//package
Section 78
//TrackObjects2 (TrackObjects2) package { import flash.display.*; public dynamic class TrackObjects2 extends Sprite { } }//package
Section 79
//TrackObjects3 (TrackObjects3) package { import flash.display.*; public dynamic class TrackObjects3 extends Sprite { } }//package
Section 80
//TrackObjects4 (TrackObjects4) package { import flash.display.*; public dynamic class TrackObjects4 extends Sprite { } }//package
Section 81
//TrackObjects5 (TrackObjects5) package { import flash.display.*; public dynamic class TrackObjects5 extends Sprite { } }//package
Section 82
//TrackRoad1 (TrackRoad1) package { import flash.display.*; public dynamic class TrackRoad1 extends Sprite { } }//package
Section 83
//TrackRoad2 (TrackRoad2) package { import flash.display.*; public dynamic class TrackRoad2 extends Sprite { } }//package
Section 84
//TrackRoad3 (TrackRoad3) package { import flash.display.*; public dynamic class TrackRoad3 extends Sprite { } }//package
Section 85
//TrackRoad4 (TrackRoad4) package { import flash.display.*; public dynamic class TrackRoad4 extends Sprite { } }//package
Section 86
//TrackRoad5 (TrackRoad5) package { import flash.display.*; public dynamic class TrackRoad5 extends Sprite { } }//package
Section 87
//TrackScheme (TrackScheme) package { import flash.display.*; import flash.text.*; public dynamic class TrackScheme extends Sprite { public var tfLevel:TextField; } }//package
Section 88
//TrackStarts1 (TrackStarts1) package { import flash.display.*; public dynamic class TrackStarts1 extends Sprite { public var mcStart0:MovieClip; public var mcStart1:MovieClip; public var mcStart3:MovieClip; public var mcStart2:MovieClip; } }//package
Section 89
//TrackStarts2 (TrackStarts2) package { import flash.display.*; public dynamic class TrackStarts2 extends Sprite { public var mcStart0:MovieClip; public var mcStart1:MovieClip; public var mcStart3:MovieClip; public var mcStart2:MovieClip; } }//package
Section 90
//TrackStarts3 (TrackStarts3) package { import flash.display.*; public dynamic class TrackStarts3 extends Sprite { public var mcStart0:MovieClip; public var mcStart1:MovieClip; public var mcStart3:MovieClip; public var mcStart2:MovieClip; } }//package
Section 91
//TrackStarts4 (TrackStarts4) package { import flash.display.*; public dynamic class TrackStarts4 extends Sprite { public var mcStart0:MovieClip; public var mcStart1:MovieClip; public var mcStart3:MovieClip; public var mcStart2:MovieClip; } }//package
Section 92
//TrackStarts5 (TrackStarts5) package { import flash.display.*; public dynamic class TrackStarts5 extends Sprite { public var mcStart0:MovieClip; public var mcStart1:MovieClip; public var mcStart3:MovieClip; public var mcStart2:MovieClip; } }//package
Section 93
//TrackTexture1 (TrackTexture1) package { import flash.display.*; public dynamic class TrackTexture1 extends Sprite { } }//package
Section 94
//TrackTexture2 (TrackTexture2) package { import flash.display.*; public dynamic class TrackTexture2 extends Sprite { } }//package
Section 95
//TrackTexture3 (TrackTexture3) package { import flash.display.*; public dynamic class TrackTexture3 extends Sprite { } }//package
Section 96
//TrackTexture4 (TrackTexture4) package { import flash.display.*; public dynamic class TrackTexture4 extends Sprite { } }//package
Section 97
//TrackTexture5 (TrackTexture5) package { import flash.display.*; public dynamic class TrackTexture5 extends Sprite { } }//package
Section 98
//TrainingScreen (TrainingScreen) package { import flash.display.*; public dynamic class TrainingScreen extends Sprite { public var btnBack:SimpleButton; public var btnLevel1:SimpleButton; public var btnLevel4:SimpleButton; public var btnLevel5:SimpleButton; public var btnLevel2:SimpleButton; public var btnLevel3:SimpleButton; public var mcSoundSwitch:SoundSwitch; } }//package
Section 99
//Tree3D (Tree3D) package { import iriysoft.engine3d.*; public dynamic class Tree3D extends ObjectPseudo3D { } }//package
Section 100
//TreePlace (TreePlace) package { import flash.display.*; public dynamic class TreePlace extends Sprite { } }//package

Library Items

Symbol 1 GraphicUsed by:53
Symbol 2 GraphicUsed by:3
Symbol 3 MovieClipUses:2Used by:9
Symbol 4 GraphicUsed by:7
Symbol 5 GraphicUsed by:6
Symbol 6 MovieClipUses:5Used by:7 15
Symbol 7 MovieClipUses:4 6Used by:9
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClip {Race3D_fla._forward_wheelw_7}Uses:3 7 8Used by:10
Symbol 10 MovieClip {Race3D_fla._forward_wheel_w_6}Uses:9Used by:11
Symbol 11 MovieClipUses:10Used by:50
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:16
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14 6Used by:16
Symbol 16 MovieClip {Race3D_fla._back_wheel2w_13}Uses:13 15Used by:17
Symbol 17 MovieClip {Race3D_fla._back_wheel_2w_12}Uses:16Used by:18
Symbol 18 MovieClipUses:17Used by:50
Symbol 19 GraphicUsed by:22
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:22
Symbol 22 MovieClip {Race3D_fla._bike_f_springw_18}Uses:19 21Used by:48
Symbol 23 MovieClipUsed by:25 41 43 45 48
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClip {Race3D_fla.spring_backw_21}Uses:24 23Used by:48
Symbol 26 GraphicUsed by:31
Symbol 27 ShapeTweeningUsed by:29
Symbol 28 GraphicUsed by:29
Symbol 29 MovieClipUses:27 28Used by:31
Symbol 30 GraphicUsed by:31
Symbol 31 MovieClipUses:26 29 30Used by:47
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:47
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClipUses:34Used by:46
Symbol 36 GraphicUsed by:37
Symbol 37 MovieClipUses:36Used by:46
Symbol 38 GraphicUsed by:39
Symbol 39 MovieClipUses:38Used by:46
Symbol 40 GraphicUsed by:41
Symbol 41 MovieClip {Race3D_fla.headw_30}Uses:40 23Used by:46
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClip {Race3D_fla.bodyw_31}Uses:42 23Used by:46
Symbol 44 GraphicUsed by:45
Symbol 45 MovieClip {Race3D_fla.legw_32}Uses:44 23Used by:46
Symbol 46 MovieClip {Race3D_fla._man_allw_26}Uses:35 37 39 41 43 45Used by:47
Symbol 47 MovieClip {Race3D_fla._bike_body_22}Uses:31 33 46Used by:48
Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17}Uses:22 23 25 47Used by:49
Symbol 49 MovieClip {Race3D_fla._bike_body_wx_16}Uses:48Used by:50
Symbol 50 MovieClipUses:11 18 49Used by:51
Symbol 51 MovieClipUses:50Used by:53
Symbol 52 GraphicUsed by:53
Symbol 53 MovieClip {Race3D_fla.logocharacters_2}Uses:1 51 52Used by:58
Symbol 54 GraphicUsed by:55  Timeline
Symbol 55 ButtonUses:54Used by:58
Symbol 56 SoundUsed by:58
Symbol 57 SoundUsed by:58
Symbol 58 MovieClip {Race3D_fla.logoaniinit_1}Uses:53 55 56 57Used by:Timeline
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:70
Symbol 61 GraphicUsed by:70
Symbol 62 FontUsed by:63 64
Symbol 63 TextUses:62Used by:70
Symbol 64 EditableTextUses:62Used by:70
Symbol 65 GraphicUsed by:70
Symbol 66 GraphicUsed by:67
Symbol 67 MovieClipUses:66Used by:69
Symbol 68 GraphicUsed by:69
Symbol 69 ButtonUses:67 68Used by:70
Symbol 70 MovieClip {Race3D_fla.Loader_34}Uses:60 61 63 64 65 69Used by:Timeline
Symbol 71 GraphicUsed by:75
Symbol 72 GraphicUsed by:75
Symbol 73 GraphicUsed by:75
Symbol 74 GraphicUsed by:75
Symbol 75 ButtonUses:71 72 73 74Used by:Timeline
Symbol 76 GraphicUsed by:80
Symbol 77 FontUsed by:78 82 83
Symbol 78 TextUses:77Used by:80
Symbol 79 GraphicUsed by:80 84
Symbol 80 ButtonUses:76 78 79Used by:Timeline
Symbol 81 GraphicUsed by:84
Symbol 82 TextUses:77Used by:84
Symbol 83 TextUses:77Used by:84
Symbol 84 ButtonUses:81 82 79 83Used by:Timeline
Symbol 85 MovieClip {Game}Used by:760
Symbol 86 BitmapUsed by:87
Symbol 87 GraphicUses:86Used by:158
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:158
Symbol 90 BitmapUsed by:91
Symbol 91 GraphicUses:90Used by:158
Symbol 92 BitmapUsed by:93
Symbol 93 GraphicUses:92Used by:158
Symbol 94 BitmapUsed by:95
Symbol 95 GraphicUses:94Used by:158
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:158
Symbol 98 BitmapUsed by:99
Symbol 99 GraphicUses:98Used by:158
Symbol 100 BitmapUsed by:101
Symbol 101 GraphicUses:100Used by:158
Symbol 102 BitmapUsed by:103
Symbol 103 GraphicUses:102Used by:158
Symbol 104 BitmapUsed by:105
Symbol 105 GraphicUses:104Used by:158
Symbol 106 BitmapUsed by:107
Symbol 107 GraphicUses:106Used by:158
Symbol 108 BitmapUsed by:109
Symbol 109 GraphicUses:108Used by:158
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:158
Symbol 112 BitmapUsed by:113
Symbol 113 GraphicUses:112Used by:158
Symbol 114 BitmapUsed by:115
Symbol 115 GraphicUses:114Used by:158
Symbol 116 BitmapUsed by:117
Symbol 117 GraphicUses:116Used by:158
Symbol 118 BitmapUsed by:119
Symbol 119 GraphicUses:118Used by:158
Symbol 120 BitmapUsed by:121
Symbol 121 GraphicUses:120Used by:158
Symbol 122 BitmapUsed by:123
Symbol 123 GraphicUses:122Used by:158
Symbol 124 BitmapUsed by:125
Symbol 125 GraphicUses:124Used by:158
Symbol 126 BitmapUsed by:127
Symbol 127 GraphicUses:126Used by:158
Symbol 128 BitmapUsed by:129
Symbol 129 GraphicUses:128Used by:158
Symbol 130 BitmapUsed by:131
Symbol 131 GraphicUses:130Used by:158
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:158
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:158
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:158
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:158
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:158
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:158
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:158
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:158
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:158
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:158
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:158
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:158
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:158
Symbol 158 MovieClip {Arrow3D}Uses:87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157Used by:760
Symbol 159 BitmapUsed by:160
Symbol 160 GraphicUses:159Used by:161
Symbol 161 MovieClip {Beacon3D}Uses:160Used by:760
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:350
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:350
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:350
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:350
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:350
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:350
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:350
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:350
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:350
Symbol 180 BitmapUsed by:181
Symbol 181 GraphicUses:180Used by:350
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:350
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:350
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:350
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:350
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:350
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:350
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:350
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:350
Symbol 198 BitmapUsed by:199
Symbol 199 GraphicUses:198Used by:350
Symbol 200 BitmapUsed by:201
Symbol 201 GraphicUses:200Used by:350
Symbol 202 BitmapUsed by:203
Symbol 203 GraphicUses:202Used by:350
Symbol 204 BitmapUsed by:205
Symbol 205 GraphicUses:204Used by:350
Symbol 206 BitmapUsed by:207
Symbol 207 GraphicUses:206Used by:350
Symbol 208 BitmapUsed by:209
Symbol 209 GraphicUses:208Used by:350
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:350
Symbol 212 BitmapUsed by:213
Symbol 213 GraphicUses:212Used by:350
Symbol 214 BitmapUsed by:215
Symbol 215 GraphicUses:214Used by:350
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:350
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:350
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:350
Symbol 222 BitmapUsed by:223
Symbol 223 GraphicUses:222Used by:350
Symbol 224 BitmapUsed by:225
Symbol 225 GraphicUses:224Used by:350
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:350
Symbol 228 BitmapUsed by:229
Symbol 229 GraphicUses:228Used by:350
Symbol 230 BitmapUsed by:231
Symbol 231 GraphicUses:230Used by:350
Symbol 232 BitmapUsed by:233
Symbol 233 GraphicUses:232Used by:350
Symbol 234 BitmapUsed by:235
Symbol 235 GraphicUses:234Used by:350
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:350
Symbol 238 BitmapUsed by:239
Symbol 239 GraphicUses:238Used by:350
Symbol 240 BitmapUsed by:241
Symbol 241 GraphicUses:240Used by:350
Symbol 242 BitmapUsed by:243
Symbol 243 GraphicUses:242Used by:350
Symbol 244 BitmapUsed by:245
Symbol 245 GraphicUses:244Used by:350
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:350
Symbol 248 BitmapUsed by:249
Symbol 249 GraphicUses:248Used by:350
Symbol 250 BitmapUsed by:251
Symbol 251 GraphicUses:250Used by:350
Symbol 252 BitmapUsed by:253
Symbol 253 GraphicUses:252Used by:350
Symbol 254 BitmapUsed by:255
Symbol 255 GraphicUses:254Used by:350
Symbol 256 BitmapUsed by:257
Symbol 257 GraphicUses:256Used by:350
Symbol 258 BitmapUsed by:259
Symbol 259 GraphicUses:258Used by:350
Symbol 260 BitmapUsed by:261
Symbol 261 GraphicUses:260Used by:350
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:350
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:350
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:350
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:350
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:350
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:350
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:350
Symbol 276 BitmapUsed by:277
Symbol 277 GraphicUses:276Used by:350
Symbol 278 BitmapUsed by:279
Symbol 279 GraphicUses:278Used by:350
Symbol 280 BitmapUsed by:281
Symbol 281 GraphicUses:280Used by:350
Symbol 282 BitmapUsed by:283
Symbol 283 GraphicUses:282Used by:350
Symbol 284 BitmapUsed by:285
Symbol 285 GraphicUses:284Used by:350
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:286Used by:350
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:350
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:350
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:350
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:350
Symbol 296 BitmapUsed by:297
Symbol 297 GraphicUses:296Used by:350
Symbol 298 BitmapUsed by:299
Symbol 299 GraphicUses:298Used by:350
Symbol 300 BitmapUsed by:301
Symbol 301 GraphicUses:300Used by:350
Symbol 302 BitmapUsed by:303
Symbol 303 GraphicUses:302Used by:350
Symbol 304 BitmapUsed by:305
Symbol 305 GraphicUses:304Used by:350
Symbol 306 BitmapUsed by:307
Symbol 307 GraphicUses:306Used by:350
Symbol 308 BitmapUsed by:309
Symbol 309 GraphicUses:308Used by:350
Symbol 310 BitmapUsed by:311
Symbol 311 GraphicUses:310Used by:350
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:350
Symbol 314 BitmapUsed by:315
Symbol 315 GraphicUses:314Used by:350
Symbol 316 BitmapUsed by:317
Symbol 317 GraphicUses:316Used by:350
Symbol 318 BitmapUsed by:319
Symbol 319 GraphicUses:318Used by:350
Symbol 320 BitmapUsed by:321
Symbol 321 GraphicUses:320Used by:350
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:350
Symbol 324 BitmapUsed by:325
Symbol 325 GraphicUses:324Used by:350
Symbol 326 BitmapUsed by:327
Symbol 327 GraphicUses:326Used by:350
Symbol 328 BitmapUsed by:329
Symbol 329 GraphicUses:328Used by:350
Symbol 330 BitmapUsed by:331
Symbol 331 GraphicUses:330Used by:350
Symbol 332 BitmapUsed by:333
Symbol 333 GraphicUses:332Used by:350
Symbol 334 BitmapUsed by:335
Symbol 335 GraphicUses:334Used by:350
Symbol 336 BitmapUsed by:337
Symbol 337 GraphicUses:336Used by:350
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:350
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:350
Symbol 342 BitmapUsed by:343
Symbol 343 GraphicUses:342Used by:350
Symbol 344 BitmapUsed by:345
Symbol 345 GraphicUses:344Used by:350
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:350
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:350
Symbol 350 MovieClip {Car3D}Uses:163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 243 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 305 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349Used by:760
Symbol 351 BitmapUsed by:352
Symbol 352 GraphicUses:351Used by:353
Symbol 353 MovieClip {TiresRed3D}Uses:352Used by:760
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:356
Symbol 356 MovieClip {TiresWhite3D}Uses:355Used by:760
Symbol 357 BitmapUsed by:358
Symbol 358 GraphicUses:357Used by:359
Symbol 359 MovieClip {Tree3D}Uses:358Used by:760
Symbol 360 GraphicUsed by:363
Symbol 361 GraphicUsed by:363
Symbol 362 GraphicUsed by:363 367
Symbol 363 ButtonUses:360 361 362Used by:368
Symbol 364 GraphicUsed by:367
Symbol 365 GraphicUsed by:367
Symbol 366 GraphicUsed by:367
Symbol 367 ButtonUses:364 365 366 362Used by:368
Symbol 368 MovieClip {SoundSwitch}Uses:363 367Used by:382 399 650 760
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:382
Symbol 371 GraphicUsed by:372
Symbol 372 MovieClipUses:371Used by:377 388 391 394
Symbol 373 FontUsed by:374 375 385 386 389 390 392 393 405 406 408 410 411 432 434 436 438 440 442 444 446 495 500 505 510 516 521 523 533 536 539 542 545 548 551 554 557 560 606 607 750 751 754 755
Symbol 374 TextUses:373Used by:377
Symbol 375 TextUses:373Used by:377
Symbol 376 GraphicUsed by:377
Symbol 377 ButtonUses:372 374 375 376Used by:382 650
Symbol 378 FontUsed by:379 380 381
Symbol 379 TextUses:378Used by:382
Symbol 380 TextUses:378Used by:382
Symbol 381 TextUses:378Used by:382
Symbol 382 MovieClip {HowToPlayScreen}Uses:370 377 379 380 381 368Used by:760
Symbol 383 BitmapUsed by:384
Symbol 384 GraphicUses:383Used by:399
Symbol 385 TextUses:373Used by:388
Symbol 386 TextUses:373Used by:388
Symbol 387 GraphicUsed by:388 391 394
Symbol 388 ButtonUses:372 385 386 387Used by:399
Symbol 389 TextUses:373Used by:391
Symbol 390 TextUses:373Used by:391
Symbol 391 ButtonUses:372 389 390 387Used by:399
Symbol 392 TextUses:373Used by:394
Symbol 393 TextUses:373Used by:394
Symbol 394 ButtonUses:372 392 393 387Used by:399
Symbol 395 GraphicUsed by:398
Symbol 396 FontUsed by:397
Symbol 397 TextUses:396Used by:398
Symbol 398 MovieClipUses:395 397Used by:399
Symbol 399 MovieClip {MainScreen}Uses:384 388 391 394 368 398Used by:760
Symbol 400 GraphicUsed by:414
Symbol 401 GraphicUsed by:402
Symbol 402 MovieClipUses:401Used by:414 613 759
Symbol 403 GraphicUsed by:404 409 413 608
Symbol 404 MovieClipUses:403Used by:409 413 498 503 508 513 608 753 757
Symbol 405 TextUses:373Used by:409
Symbol 406 TextUses:373Used by:409
Symbol 407 GraphicUsed by:409
Symbol 408 TextUses:373Used by:409
Symbol 409 ButtonUses:404 405 406 407 403 408Used by:414
Symbol 410 TextUses:373Used by:413
Symbol 411 TextUses:373Used by:413 608
Symbol 412 GraphicUsed by:413 608
Symbol 413 ButtonUses:404 410 411 412 403Used by:414 613
Symbol 414 MovieClip {PauseWindow}Uses:400 402 409 413Used by:760
Symbol 415 GraphicUsed by:416
Symbol 416 MovieClip {RaceLoadingScreen}Uses:415Used by:760
Symbol 417 GraphicUsed by:418
Symbol 418 MovieClip {CarMarkAI}Uses:417Used by:760
Symbol 419 GraphicUsed by:420
Symbol 420 MovieClip {CarMarkUser}Uses:419Used by:760
Symbol 421 FontUsed by:422 423 424 425 426 427 428 429 448 563 564 565 566 577 584 585 586 589 590 591 593 594 595 597 598 599 601 602 603 746 748
Symbol 422 EditableTextUses:421Used by:492
Symbol 423 EditableTextUses:421Used by:492
Symbol 424 EditableTextUses:421Used by:492
Symbol 425 EditableTextUses:421Used by:492
Symbol 426 EditableTextUses:421Used by:492
Symbol 427 EditableTextUses:421Used by:492
Symbol 428 EditableTextUses:421Used by:492
Symbol 429 EditableTextUses:421Used by:492
Symbol 430 GraphicUsed by:492
Symbol 431 GraphicUsed by:447
Symbol 432 TextUses:373Used by:447
Symbol 433 GraphicUsed by:447
Symbol 434 TextUses:373Used by:447
Symbol 435 GraphicUsed by:447
Symbol 436 TextUses:373Used by:447
Symbol 437 GraphicUsed by:447
Symbol 438 TextUses:373Used by:447
Symbol 439 GraphicUsed by:447
Symbol 440 TextUses:373Used by:447
Symbol 441 GraphicUsed by:447
Symbol 442 TextUses:373Used by:447
Symbol 443 GraphicUsed by:447
Symbol 444 TextUses:373Used by:447
Symbol 445 GraphicUsed by:447
Symbol 446 TextUses:373Used by:447
Symbol 447 MovieClip {Race3D_fla.TransmissionBar_69}Uses:431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446Used by:492
Symbol 448 EditableTextUses:421 587Used by:492
Symbol 449 GraphicUsed by:490
Symbol 450 GraphicUsed by:490
Symbol 451 GraphicUsed by:490
Symbol 452 GraphicUsed by:490
Symbol 453 GraphicUsed by:490
Symbol 454 GraphicUsed by:490
Symbol 455 GraphicUsed by:490
Symbol 456 GraphicUsed by:490
Symbol 457 GraphicUsed by:490
Symbol 458 GraphicUsed by:490
Symbol 459 GraphicUsed by:490
Symbol 460 GraphicUsed by:490
Symbol 461 GraphicUsed by:490
Symbol 462 GraphicUsed by:490
Symbol 463 GraphicUsed by:490
Symbol 464 GraphicUsed by:490
Symbol 465 GraphicUsed by:490
Symbol 466 GraphicUsed by:490
Symbol 467 GraphicUsed by:490
Symbol 468 GraphicUsed by:490
Symbol 469 GraphicUsed by:490
Symbol 470 GraphicUsed by:490
Symbol 471 GraphicUsed by:490
Symbol 472 GraphicUsed by:490
Symbol 473 GraphicUsed by:490
Symbol 474 GraphicUsed by:490
Symbol 475 GraphicUsed by:490
Symbol 476 GraphicUsed by:490
Symbol 477 GraphicUsed by:490
Symbol 478 GraphicUsed by:490
Symbol 479 GraphicUsed by:490
Symbol 480 GraphicUsed by:490
Symbol 481 GraphicUsed by:490
Symbol 482 GraphicUsed by:490
Symbol 483 GraphicUsed by:490
Symbol 484 GraphicUsed by:490
Symbol 485 GraphicUsed by:490
Symbol 486 GraphicUsed by:490
Symbol 487 GraphicUsed by:490
Symbol 488 GraphicUsed by:490
Symbol 489 GraphicUsed by:490
Symbol 490 MovieClip {Race3D_fla.Tachometer_70}Uses:449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489Used by:492
Symbol 491 GraphicUsed by:492
Symbol 492 MovieClip {ControlPanel}Uses:422 423 424 425 426 427 428 429 430 447 448 490 491Used by:760
Symbol 493 FontUsed by:494 496 499 501 504 506 509 511 515 517 522 524 527 528 531 532 534 535 537 538 540 541 543 544 546 547 549 550 552 553 555 556 558 559 561 609 610 611 612 758
Symbol 494 TextUses:493Used by:497
Symbol 495 TextUses:373Used by:497
Symbol 496 TextUses:493Used by:497
Symbol 497 MovieClipUses:494 495 496Used by:498
Symbol 498 MovieClip {Race3D_fla.Countdown_72}Uses:404 497Used by:514
Symbol 499 TextUses:493Used by:502
Symbol 500 TextUses:373Used by:502
Symbol 501 TextUses:493Used by:502
Symbol 502 MovieClipUses:499 500 501Used by:503
Symbol 503 MovieClip {Race3D_fla.Countdown_74}Uses:404 502Used by:514
Symbol 504 TextUses:493Used by:507
Symbol 505 TextUses:373Used by:507
Symbol 506 TextUses:493Used by:507
Symbol 507 MovieClipUses:504 505 506Used by:508
Symbol 508 MovieClip {Race3D_fla.Countdown_76}Uses:404 507Used by:514
Symbol 509 TextUses:493Used by:512
Symbol 510 TextUses:373Used by:512
Symbol 511 TextUses:493Used by:512
Symbol 512 MovieClipUses:509 510 511Used by:513
Symbol 513 MovieClip {Race3D_fla.Countdown_78}Uses:404 512Used by:514
Symbol 514 MovieClip {Countdown}Uses:498 503 508 513Used by:760
Symbol 515 EditableTextUses:493Used by:518
Symbol 516 EditableTextUses:373Used by:518
Symbol 517 EditableTextUses:493Used by:518
Symbol 518 MovieClip {Race3D_fla.FinalLap_Title_81}Uses:515 516 517Used by:519
Symbol 519 MovieClip {LapMessage}Uses:518Used by:760
Symbol 520 GraphicUsed by:530
Symbol 521 TextUses:373Used by:530
Symbol 522 TextUses:493Used by:530
Symbol 523 TextUses:373Used by:530
Symbol 524 TextUses:493Used by:530
Symbol 525 GraphicUsed by:530
Symbol 526 GraphicUsed by:530
Symbol 527 TextUses:493Used by:530
Symbol 528 TextUses:493Used by:530
Symbol 529 GraphicUsed by:530
Symbol 530 Button {Pause}Uses:520 521 522 523 524 525 526 527 528 529Used by:760
Symbol 531 EditableTextUses:493Used by:562
Symbol 532 TextUses:493Used by:562
Symbol 533 TextUses:373Used by:562
Symbol 534 TextUses:493Used by:562
Symbol 535 TextUses:493Used by:562
Symbol 536 TextUses:373Used by:562
Symbol 537 TextUses:493Used by:562
Symbol 538 TextUses:493Used by:562
Symbol 539 TextUses:373Used by:562
Symbol 540 TextUses:493Used by:562
Symbol 541 TextUses:493Used by:562
Symbol 542 TextUses:373Used by:562
Symbol 543 TextUses:493Used by:562
Symbol 544 TextUses:493Used by:562
Symbol 545 TextUses:373Used by:562
Symbol 546 TextUses:493Used by:562
Symbol 547 TextUses:493Used by:562
Symbol 548 TextUses:373Used by:562
Symbol 549 TextUses:493Used by:562
Symbol 550 TextUses:493Used by:562
Symbol 551 TextUses:373Used by:562
Symbol 552 TextUses:493Used by:562
Symbol 553 TextUses:493Used by:562
Symbol 554 TextUses:373Used by:562
Symbol 555 TextUses:493Used by:562
Symbol 556 TextUses:493Used by:562
Symbol 557 TextUses:373Used by:562
Symbol 558 TextUses:493Used by:562
Symbol 559 TextUses:493Used by:562
Symbol 560 TextUses:373Used by:562
Symbol 561 TextUses:493Used by:562
Symbol 562 MovieClip {RacePosition}Uses:531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561Used by:760
Symbol 563 EditableTextUses:421 587Used by:570
Symbol 564 EditableTextUses:421 587Used by:570
Symbol 565 EditableTextUses:421 587Used by:570
Symbol 566 TextUses:421Used by:570 605 613
Symbol 567 FontUsed by:568 569 770
Symbol 568 TextUses:567Used by:570 605 613
Symbol 569 TextUses:567Used by:570 605 613
Symbol 570 MovieClip {RaceTimer}Uses:563 564 565 566 568 569Used by:760
Symbol 571 GraphicUsed by:572
Symbol 572 MovieClip {RearViewMask}Uses:571Used by:760
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClip {RearViewMirror}Uses:573Used by:760
Symbol 575 GraphicUsed by:578
Symbol 576 GraphicUsed by:578
Symbol 577 EditableTextUses:421 587Used by:578
Symbol 578 MovieClip {TrackScheme}Uses:575 576 577Used by:760
Symbol 579 GraphicUsed by:613 759
Symbol 580 GraphicUsed by:582
Symbol 581 GraphicUsed by:582
Symbol 582 MovieClipUses:580 581Used by:583
Symbol 583 MovieClipUses:582Used by:613
Symbol 584 EditableTextUses:421 587Used by:613
Symbol 585 EditableTextUses:421 587Used by:613
Symbol 586 EditableTextUses:421 587Used by:613
Symbol 587 FontUsed by:448 563 564 565 577 584 585 586 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 746 747 748 749
Symbol 588 TextUses:587Used by:613
Symbol 589 EditableTextUses:421 587Used by:613
Symbol 590 EditableTextUses:421 587Used by:613
Symbol 591 EditableTextUses:421 587Used by:613
Symbol 592 TextUses:587Used by:613
Symbol 593 EditableTextUses:421 587Used by:613
Symbol 594 EditableTextUses:421 587Used by:613
Symbol 595 EditableTextUses:421 587Used by:613
Symbol 596 TextUses:587Used by:613
Symbol 597 EditableTextUses:421 587Used by:613
Symbol 598 EditableTextUses:421 587Used by:613
Symbol 599 EditableTextUses:421 587Used by:613
Symbol 600 TextUses:587Used by:613
Symbol 601 EditableTextUses:421 587Used by:605
Symbol 602 EditableTextUses:421 587Used by:605
Symbol 603 EditableTextUses:421 587Used by:605
Symbol 604 TextUses:587Used by:605
Symbol 605 MovieClip {Race3D_fla.TrainingResult_91}Uses:601 602 603 566 568 569 604Used by:613
Symbol 606 TextUses:373Used by:608
Symbol 607 TextUses:373Used by:608
Symbol 608 ButtonUses:404 606 607 412 403 411Used by:613
Symbol 609 TextUses:493Used by:613
Symbol 610 TextUses:493Used by:613
Symbol 611 TextUses:493Used by:613
Symbol 612 TextUses:493Used by:613
Symbol 613 MovieClip {ResultsWindow}Uses:579 402 583 584 585 586 566 568 569 588 589 590 591 592 593 594 595 596 597 598 599 600 605 608 413 609 610 611 612Used by:760
Symbol 614 BitmapUsed by:615
Symbol 615 GraphicUses:614Used by:650
Symbol 616 GraphicUsed by:626 633
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClipUses:617Used by:626 633 639 644 649
Symbol 619 GraphicUsed by:626
Symbol 620 GraphicUsed by:621
Symbol 621 MovieClip {TrackRoad2}Uses:620Used by:626 697
Symbol 622 GraphicUsed by:626 633 639 644 649
Symbol 623 GraphicUsed by:626 633
Symbol 624 GraphicUsed by:626
Symbol 625 GraphicUsed by:626 639 644 649
Symbol 626 ButtonUses:616 618 619 621 622 623 624 625Used by:650
Symbol 627 GraphicUsed by:633
Symbol 628 GraphicUsed by:629
Symbol 629 MovieClip {TrackRoad1}Uses:628Used by:633 677
Symbol 630 GraphicUsed by:633 639 644 649
Symbol 631 GraphicUsed by:633
Symbol 632 GraphicUsed by:633
Symbol 633 ButtonUses:616 618 627 629 630 622 631 623 632Used by:650
Symbol 634 GraphicUsed by:639
Symbol 635 GraphicUsed by:636
Symbol 636 MovieClip {TrackRoad3}Uses:635Used by:639 713
Symbol 637 GraphicUsed by:639
Symbol 638 GraphicUsed by:639 644 649
Symbol 639 ButtonUses:634 618 636 630 622 637 638 625Used by:650
Symbol 640 GraphicUsed by:644
Symbol 641 GraphicUsed by:642
Symbol 642 MovieClip {TrackRoad4}Uses:641Used by:644 729
Symbol 643 GraphicUsed by:644
Symbol 644 ButtonUses:640 618 642 630 622 643 638 625Used by:650
Symbol 645 GraphicUsed by:649
Symbol 646 GraphicUsed by:647
Symbol 647 MovieClip {TrackRoad5}Uses:646Used by:649 745
Symbol 648 GraphicUsed by:649
Symbol 649 ButtonUses:645 618 647 630 622 648 638 625Used by:650
Symbol 650 MovieClip {TrainingScreen}Uses:615 626 633 639 644 649 377 368Used by:760
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClip {TiresRedPlace}Uses:651Used by:676 696 712 728 744 760
Symbol 653 GraphicUsed by:654
Symbol 654 MovieClip {TiresWhitePlace}Uses:653Used by:676 696 712 728 744 760
Symbol 655 GraphicUsed by:656
Symbol 656 MovieClip {TreePlace}Uses:655Used by:676 696 712 728 744 760
Symbol 657 BitmapUsed by:658 678 698 714 730
Symbol 658 GraphicUses:657Used by:669
Symbol 659 BitmapUsed by:660 682 699 715 731
Symbol 660 GraphicUses:659Used by:661
Symbol 661 MovieClipUses:660Used by:669
Symbol 662 GraphicUsed by:669
Symbol 663 GraphicUsed by:669
Symbol 664 GraphicUsed by:669
Symbol 665 BitmapUsed by:666 690 706 722 738
Symbol 666 GraphicUses:665Used by:667
Symbol 667 MovieClipUses:666Used by:669
Symbol 668 GraphicUsed by:669
Symbol 669 MovieClip {TrackTexture1}Uses:658 661 662 663 664 667 668Used by:677
Symbol 670 GraphicUsed by:671
Symbol 671 MovieClipUses:670Used by:672 694 710 726 742
Symbol 672 MovieClip {TrackLines1}Uses:671Used by:677
Symbol 673 GraphicUsed by:674
Symbol 674 MovieClipUses:673Used by:675 695 711 727 743
Symbol 675 MovieClip {TrackStarts1}Uses:674Used by:677
Symbol 676 MovieClip {TrackObjects1}Uses:656 654 652Used by:677
Symbol 677 MovieClipUses:669 629 672 675 676Used by:760
Symbol 678 GraphicUses:657Used by:693
Symbol 679 BitmapUsed by:680 733
Symbol 680 GraphicUses:679Used by:681
Symbol 681 MovieClipUses:680Used by:693
Symbol 682 GraphicUses:659Used by:683
Symbol 683 MovieClipUses:682Used by:693
Symbol 684 BitmapUsed by:685 701 717
Symbol 685 GraphicUses:684Used by:686
Symbol 686 MovieClipUses:685Used by:693
Symbol 687 GraphicUsed by:693
Symbol 688 GraphicUsed by:693
Symbol 689 GraphicUsed by:693
Symbol 690 GraphicUses:665Used by:691
Symbol 691 MovieClipUses:690Used by:693
Symbol 692 GraphicUsed by:693
Symbol 693 MovieClip {TrackTexture2}Uses:678 681 683 686 687 688 689 691 692Used by:697
Symbol 694 MovieClip {TrackLines2}Uses:671Used by:697
Symbol 695 MovieClip {TrackStarts2}Uses:674Used by:697
Symbol 696 MovieClip {TrackObjects2}Uses:656 652 654Used by:697
Symbol 697 MovieClipUses:693 621 694 695 696Used by:760
Symbol 698 GraphicUses:657Used by:709
Symbol 699 GraphicUses:659Used by:700
Symbol 700 MovieClipUses:699Used by:709
Symbol 701 GraphicUses:684Used by:702
Symbol 702 MovieClipUses:701Used by:709
Symbol 703 GraphicUsed by:709
Symbol 704 GraphicUsed by:709
Symbol 705 GraphicUsed by:709
Symbol 706 GraphicUses:665Used by:707
Symbol 707 MovieClipUses:706Used by:709
Symbol 708 GraphicUsed by:709
Symbol 709 MovieClip {TrackTexture3}Uses:698 700 702 703 704 705 707 708Used by:713
Symbol 710 MovieClip {TrackLines3}Uses:671Used by:713
Symbol 711 MovieClip {TrackStarts3}Uses:674Used by:713
Symbol 712 MovieClip {TrackObjects3}Uses:656 652 654Used by:713
Symbol 713 MovieClipUses:709 636 710 711 712Used by:760
Symbol 714 GraphicUses:657Used by:725
Symbol 715 GraphicUses:659Used by:716
Symbol 716 MovieClipUses:715Used by:725
Symbol 717 GraphicUses:684Used by:718
Symbol 718 MovieClipUses:717Used by:725
Symbol 719 GraphicUsed by:725
Symbol 720 GraphicUsed by:725
Symbol 721 GraphicUsed by:725
Symbol 722 GraphicUses:665Used by:723
Symbol 723 MovieClipUses:722Used by:725
Symbol 724 GraphicUsed by:725
Symbol 725 MovieClip {TrackTexture4}Uses:714 716 718 719 720 721 723 724Used by:729
Symbol 726 MovieClip {TrackLines4}Uses:671Used by:729
Symbol 727 MovieClip {TrackStarts4}Uses:674Used by:729
Symbol 728 MovieClip {TrackObjects4}Uses:656 654 652Used by:729
Symbol 729 MovieClipUses:725 642 726 727 728Used by:760
Symbol 730 GraphicUses:657Used by:741
Symbol 731 GraphicUses:659Used by:732
Symbol 732 MovieClipUses:731Used by:741
Symbol 733 GraphicUses:679Used by:734
Symbol 734 MovieClipUses:733Used by:741
Symbol 735 GraphicUsed by:741
Symbol 736 GraphicUsed by:741
Symbol 737 GraphicUsed by:741
Symbol 738 GraphicUses:665Used by:739
Symbol 739 MovieClipUses:738Used by:741
Symbol 740 GraphicUsed by:741
Symbol 741 MovieClip {TrackTexture5}Uses:730 732 734 735 736 737 739 740Used by:745
Symbol 742 MovieClip {TrackLines5}Uses:671Used by:745
Symbol 743 MovieClip {TrackStarts5}Uses:674Used by:745
Symbol 744 MovieClip {TrackObjects5}Uses:652 654 656Used by:745
Symbol 745 MovieClipUses:741 647 742 743 744Used by:760
Symbol 746 EditableTextUses:421 587Used by:759
Symbol 747 TextUses:587Used by:759
Symbol 748 EditableTextUses:421 587Used by:759
Symbol 749 TextUses:587Used by:759
Symbol 750 TextUses:373Used by:753
Symbol 751 TextUses:373Used by:753
Symbol 752 GraphicUsed by:753
Symbol 753 ButtonUses:404 750 751 752Used by:759
Symbol 754 TextUses:373Used by:757
Symbol 755 TextUses:373Used by:757
Symbol 756 GraphicUsed by:757
Symbol 757 ButtonUses:404 754 755 756Used by:759
Symbol 758 TextUses:493Used by:759
Symbol 759 MovieClip {SubmitWindow}Uses:579 402 746 747 748 749 753 757 758Used by:760
Symbol 760 MovieClipUses:85 158 161 350 353 356 359 368 382 399 414 416 418 420 492 514 519 530 562 570 572 574 578 613 650 652 654 656 677 697 713 729 745 759Used by:Timeline
Symbol 761 Sound {ButtonSound}Used by:769
Symbol 762 Sound {ButtonOverSound}Used by:769
Symbol 763 Sound {CountdownSound}Used by:769
Symbol 764 Sound {GoSound}Used by:769
Symbol 765 Sound {HitSound}Used by:769
Symbol 766 Sound {MessageSound}Used by:769
Symbol 767 Sound {MainMusic}Used by:769
Symbol 768 Sound {RaceMusic}Used by:769
Symbol 769 MovieClipUses:761 762 763 764 765 766 767 768Used by:Timeline
Symbol 770 TextUses:567Used by:Timeline

Instance Names

"anim"Frame 1Symbol 58 MovieClip {Race3D_fla.logoaniinit_1}
"preloader"Frame 1Symbol 70 MovieClip {Race3D_fla.Loader_34}
"bt2"Frame 1Symbol 75 Button
"bt1"Frame 1Symbol 80 Button
"bt3"Frame 1Symbol 84 Button
"btbig"Frame 26Symbol 75 Button
"mc_rim"Symbol 9 MovieClip {Race3D_fla._forward_wheelw_7} Frame 1Symbol 7 MovieClip
"mc"Symbol 10 MovieClip {Race3D_fla._forward_wheel_w_6} Frame 1Symbol 9 MovieClip {Race3D_fla._forward_wheelw_7}
"mc_rim"Symbol 16 MovieClip {Race3D_fla._back_wheel2w_13} Frame 1Symbol 15 MovieClip
"mc"Symbol 17 MovieClip {Race3D_fla._back_wheel_2w_12} Frame 1Symbol 16 MovieClip {Race3D_fla._back_wheel2w_13}
"mc_spring"Symbol 22 MovieClip {Race3D_fla._bike_f_springw_18} Frame 1Symbol 21 MovieClip
"mc_top"Symbol 25 MovieClip {Race3D_fla.spring_backw_21} Frame 1Symbol 23 MovieClip
"p"Symbol 41 MovieClip {Race3D_fla.headw_30} Frame 1Symbol 23 MovieClip
"p"Symbol 43 MovieClip {Race3D_fla.bodyw_31} Frame 1Symbol 23 MovieClip
"p"Symbol 45 MovieClip {Race3D_fla.legw_32} Frame 1Symbol 23 MovieClip
"h"Symbol 46 MovieClip {Race3D_fla._man_allw_26} Frame 1Symbol 41 MovieClip {Race3D_fla.headw_30}
"b"Symbol 46 MovieClip {Race3D_fla._man_allw_26} Frame 1Symbol 43 MovieClip {Race3D_fla.bodyw_31}
"l"Symbol 46 MovieClip {Race3D_fla._man_allw_26} Frame 1Symbol 45 MovieClip {Race3D_fla.legw_32}
"mc"Symbol 47 MovieClip {Race3D_fla._bike_body_22} Frame 1Symbol 46 MovieClip {Race3D_fla._man_allw_26}
"mc_f_spring"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 22 MovieClip {Race3D_fla._bike_f_springw_18}
"mc_s_wheel_back"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 23 MovieClip
"mc_s_wheel_forward"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 23 MovieClip
"mc_b_spring"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 25 MovieClip {Race3D_fla.spring_backw_21}
"mc_body_man"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 47 MovieClip {Race3D_fla._bike_body_22}
"mc_f_point"Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17} Frame 1Symbol 23 MovieClip
"mc"Symbol 49 MovieClip {Race3D_fla._bike_body_wx_16} Frame 1Symbol 48 MovieClip {Race3D_fla._bike_bodyw_17}
"prebut"Symbol 58 MovieClip {Race3D_fla.logoaniinit_1} Frame 1Symbol 55 Button
"mcStripe"Symbol 70 MovieClip {Race3D_fla.Loader_34} Frame 1Symbol 60 MovieClip
"tfPercents"Symbol 70 MovieClip {Race3D_fla.Loader_34} Frame 1Symbol 64 EditableText
"btStart"Symbol 70 MovieClip {Race3D_fla.Loader_34} Frame 1Symbol 69 Button
"btnSoundOff"Symbol 368 MovieClip {SoundSwitch} Frame 1Symbol 363 Button
"btnSoundOn"Symbol 368 MovieClip {SoundSwitch} Frame 12Symbol 367 Button
"btnBack"Symbol 382 MovieClip {HowToPlayScreen} Frame 1Symbol 377 Button
"mcSoundSwitch"Symbol 382 MovieClip {HowToPlayScreen} Frame 1Symbol 368 MovieClip {SoundSwitch}
"btnChampionship"Symbol 399 MovieClip {MainScreen} Frame 1Symbol 388 Button
"btnTraining"Symbol 399 MovieClip {MainScreen} Frame 1Symbol 391 Button
"btnHowToPlay"Symbol 399 MovieClip {MainScreen} Frame 1Symbol 394 Button
"mcSoundSwitch"Symbol 399 MovieClip {MainScreen} Frame 1Symbol 368 MovieClip {SoundSwitch}
"btnResume"Symbol 414 MovieClip {PauseWindow} Frame 1Symbol 409 Button
"btnExit"Symbol 414 MovieClip {PauseWindow} Frame 1Symbol 413 Button
"tfGear6"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 422 EditableText
"tfGear5"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 423 EditableText
"tfGear4"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 424 EditableText
"tfGear3"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 425 EditableText
"tfGear2"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 426 EditableText
"tfGear1"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 427 EditableText
"tfGear8"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 428 EditableText
"tfGear7"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 429 EditableText
"mcTransmission"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 447 MovieClip {Race3D_fla.TransmissionBar_69}
"tfSpeed"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 448 EditableText
"mcTachometer"Symbol 492 MovieClip {ControlPanel} Frame 1Symbol 490 MovieClip {Race3D_fla.Tachometer_70}
"tfMessage3"Symbol 518 MovieClip {Race3D_fla.FinalLap_Title_81} Frame 1Symbol 515 EditableText
"tfMessage2"Symbol 518 MovieClip {Race3D_fla.FinalLap_Title_81} Frame 1Symbol 516 EditableText
"tfMessage1"Symbol 518 MovieClip {Race3D_fla.FinalLap_Title_81} Frame 1Symbol 517 EditableText
"mcMessage"Symbol 519 MovieClip {LapMessage} Frame 1Symbol 518 MovieClip {Race3D_fla.FinalLap_Title_81}
"tfLap"Symbol 562 MovieClip {RacePosition} Frame 1Symbol 531 EditableText
"tfMinutes"Symbol 570 MovieClip {RaceTimer} Frame 1Symbol 563 EditableText
"tfSeconds"Symbol 570 MovieClip {RaceTimer} Frame 1Symbol 564 EditableText
"tfMilliSeconds"Symbol 570 MovieClip {RaceTimer} Frame 1Symbol 565 EditableText
"tfLevel"Symbol 578 MovieClip {TrackScheme} Frame 1Symbol 577 EditableText
"tfMinutes"Symbol 605 MovieClip {Race3D_fla.TrainingResult_91} Frame 1Symbol 601 EditableText
"tfSeconds"Symbol 605 MovieClip {Race3D_fla.TrainingResult_91} Frame 1Symbol 602 EditableText
"tfMilliSeconds"Symbol 605 MovieClip {Race3D_fla.TrainingResult_91} Frame 1Symbol 603 EditableText
"mcPositionLine"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 583 MovieClip
"tfMinutes1"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 584 EditableText
"tfSeconds1"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 585 EditableText
"tfMilliSeconds1"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 586 EditableText
"tfMinutes2"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 589 EditableText
"tfSeconds2"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 590 EditableText
"tfMilliSeconds2"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 591 EditableText
"tfMinutes3"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 593 EditableText
"tfSeconds3"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 594 EditableText
"tfMilliSeconds3"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 595 EditableText
"tfMinutes4"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 597 EditableText
"tfSeconds4"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 598 EditableText
"tfMilliSeconds4"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 599 EditableText
"mcResult"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 605 MovieClip {Race3D_fla.TrainingResult_91}
"btnNext"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 608 Button
"btnExit"Symbol 613 MovieClip {ResultsWindow} Frame 1Symbol 413 Button
"btnLevel2"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 626 Button
"btnLevel1"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 633 Button
"btnLevel3"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 639 Button
"btnLevel4"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 644 Button
"btnLevel5"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 649 Button
"btnBack"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 377 Button
"mcSoundSwitch"Symbol 650 MovieClip {TrainingScreen} Frame 1Symbol 368 MovieClip {SoundSwitch}
"mcCheck31"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck1"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck5"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck6"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck9"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck11"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck15"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck17"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck19"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck21"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck25"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck26"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck13"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck29"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck3"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck2"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck4"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck7"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck8"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck10"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck12"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck14"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck16"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck18"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck20"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck22"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck23"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck24"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck27"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck28"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcCheck30"Symbol 672 MovieClip {TrackLines1} Frame 1Symbol 671 MovieClip
"mcStart0"Symbol 675 MovieClip {TrackStarts1} Frame 1Symbol 674 MovieClip
"mcStart3"Symbol 675 MovieClip {TrackStarts1} Frame 1Symbol 674 MovieClip
"mcStart2"Symbol 675 MovieClip {TrackStarts1} Frame 1Symbol 674 MovieClip
"mcStart1"Symbol 675 MovieClip {TrackStarts1} Frame 1Symbol 674 MovieClip
"mcCheck1"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck2"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck3"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck4"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck5"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck6"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck7"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck8"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck9"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck10"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck11"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck12"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck13"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck14"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck15"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck16"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck17"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck18"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck19"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck20"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck21"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck22"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck23"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck24"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck25"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck26"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcCheck27"Symbol 694 MovieClip {TrackLines2} Frame 1Symbol 671 MovieClip
"mcStart3"Symbol 695 MovieClip {TrackStarts2} Frame 1Symbol 674 MovieClip
"mcStart2"Symbol 695 MovieClip {TrackStarts2} Frame 1Symbol 674 MovieClip
"mcStart1"Symbol 695 MovieClip {TrackStarts2} Frame 1Symbol 674 MovieClip
"mcStart0"Symbol 695 MovieClip {TrackStarts2} Frame 1Symbol 674 MovieClip
"mcCheck1"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck2"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck3"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck4"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck5"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck6"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck7"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck8"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck9"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck10"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck11"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck12"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck13"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck14"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck15"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck16"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck17"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck18"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck19"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck20"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck21"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck22"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck23"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck24"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck25"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck26"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck27"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck28"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck29"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcCheck30"Symbol 710 MovieClip {TrackLines3} Frame 1Symbol 671 MovieClip
"mcStart3"Symbol 711 MovieClip {TrackStarts3} Frame 1Symbol 674 MovieClip
"mcStart2"Symbol 711 MovieClip {TrackStarts3} Frame 1Symbol 674 MovieClip
"mcStart1"Symbol 711 MovieClip {TrackStarts3} Frame 1Symbol 674 MovieClip
"mcStart0"Symbol 711 MovieClip {TrackStarts3} Frame 1Symbol 674 MovieClip
"mcCheck1"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck2"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck3"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck4"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck5"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck6"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck7"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck8"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck9"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck10"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck11"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck12"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck13"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck14"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck15"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck16"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck17"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck18"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck19"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck20"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck21"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck22"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck23"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck24"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck25"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck26"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck27"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck28"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck29"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcCheck30"Symbol 726 MovieClip {TrackLines4} Frame 1Symbol 671 MovieClip
"mcStart3"Symbol 727 MovieClip {TrackStarts4} Frame 1Symbol 674 MovieClip
"mcStart2"Symbol 727 MovieClip {TrackStarts4} Frame 1Symbol 674 MovieClip
"mcStart1"Symbol 727 MovieClip {TrackStarts4} Frame 1Symbol 674 MovieClip
"mcStart0"Symbol 727 MovieClip {TrackStarts4} Frame 1Symbol 674 MovieClip
"mcCheck1"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck2"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck3"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck4"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck5"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck6"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck7"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck8"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck9"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck10"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck11"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck12"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck13"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck14"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck15"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck16"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck17"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck18"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck19"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck20"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck21"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck22"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck23"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck24"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck25"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck26"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck27"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck28"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck29"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck30"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck31"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck32"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck33"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcCheck34"Symbol 742 MovieClip {TrackLines5} Frame 1Symbol 671 MovieClip
"mcStart3"Symbol 743 MovieClip {TrackStarts5} Frame 1Symbol 674 MovieClip
"mcStart2"Symbol 743 MovieClip {TrackStarts5} Frame 1Symbol 674 MovieClip
"mcStart1"Symbol 743 MovieClip {TrackStarts5} Frame 1Symbol 674 MovieClip
"mcStart0"Symbol 743 MovieClip {TrackStarts5} Frame 1Symbol 674 MovieClip
"tfScore"Symbol 759 MovieClip {SubmitWindow} Frame 1Symbol 746 EditableText
"tfName"Symbol 759 MovieClip {SubmitWindow} Frame 1Symbol 748 EditableText
"btnNo"Symbol 759 MovieClip {SubmitWindow} Frame 1Symbol 753 Button
"btnYes"Symbol 759 MovieClip {SubmitWindow} Frame 1Symbol 757 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Tag 0x0FF (255)Timeline Frame 11 bytes " "

Labels

"Preloader"Frame 1
"Game"Frame 3
"siteLock"Frame 26
"frmSoundOn"Symbol 368 MovieClip {SoundSwitch} Frame 1
"frmSoundOff"Symbol 368 MovieClip {SoundSwitch} Frame 12
"frmGreen"Symbol 490 MovieClip {Race3D_fla.Tachometer_70} Frame 1
"frmYellow"Symbol 490 MovieClip {Race3D_fla.Tachometer_70} Frame 15
"frmRed"Symbol 490 MovieClip {Race3D_fla.Tachometer_70} Frame 28
"frmWin"Symbol 613 MovieClip {ResultsWindow} Frame 1
"frmLose"Symbol 613 MovieClip {ResultsWindow} Frame 9
"frmTotalWin"Symbol 613 MovieClip {ResultsWindow} Frame 18
"frmFinish"Symbol 613 MovieClip {ResultsWindow} Frame 29
"frmWin"Symbol 759 MovieClip {SubmitWindow} Frame 1




http://swfchan.com/28/135602/info.shtml
Created: 9/2 -2019 11:38:51 Last modified: 9/2 -2019 11:38:51 Server time: 06/05 -2024 23:01:27