home *** CD-ROM | disk | FTP | other *** search
Text File | 2005-08-26 | 43.7 KB | 1,008 lines |
- class pathFollower extends MovieClip
- {
- function pathFollower()
- {
- super();
- }
- function followAnchors(playerType, name, anchorName, speed, speedAdd, speedAddMax, pCurveSlowDown, thruster, decay, beginAnchor, maxAnchors, follower_mc, useKey, laps, pcolour)
- {
- _root.race_clip[name + follower_mc._parent._name] = new Object();
- var props = _root.race_clip[name + follower_mc._parent._name];
- props.name = name;
- props.origSpeedX = 0;
- props.origSpeedY = 0;
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- props.thrust = thruster;
- props.decay = decay;
- props.maxSpeedOrg = speed;
- props.maxSpeed = speed;
- props.CurveSlowDown = pCurveSlowDown;
- props.fixRotation = 0;
- props.rotState = "waiting";
- props.flipadd = 0;
- props.maxcount = maxAnchors;
- props.count = beginAnchor;
- if(props.name == "pathBot1")
- {
- props.newPosX = follower_mc._parent.p1Anchors[anchorName + props.count]._x + _root.race_clip.p1Anchors._x;
- props.newPosY = follower_mc._parent.p1Anchors[anchorName + props.count]._y + _root.race_clip.p1Anchors._y;
- _root.race_clip.p1_cars.gotoAndStop(pcolour);
- props.playernum = 1;
- }
- else if(props.name == "pathBot2")
- {
- props.newPosX = follower_mc._parent.p2Anchors[anchorName + props.count]._x + _root.race_clip.p2Anchors._x;
- props.newPosY = follower_mc._parent.p2Anchors[anchorName + props.count]._y + _root.race_clip.p2Anchors._y;
- _root.race_clip.p2_cars.gotoAndStop(pcolour);
- props.playernum = 2;
- }
- props.oldX = props.newPosX;
- props.oldY = props.newPosY;
- props.magnetOrgx = follower_mc._x;
- props.magnetOrgy = follower_mc._y;
- props.magnetOrgRot = follower_mc._rotation;
- props.TrackOut = 0;
- props.Collision = 0;
- props.speedAddBit = speedAdd;
- props.speedAddMax = speedAddMax;
- props.SpedAdder = new Object();
- props.SpedAdder.interval = 0;
- props.playerType = playerType;
- props.lapsWin = laps;
- props.inGoal = 0;
- if(props.name == "pathBot1")
- {
- props.coreOrgx = _root.race_clip.p1_core._x - follower_mc._x;
- props.coreOrgy = _root.race_clip.p1_core._y - follower_mc._y;
- props.coreOrgRot = _root.race_clip.p1_core._rotation - follower_mc._rotation;
- props.carOrgx = _root.race_clip.p1_cars._x - _root.race_clip.p1_core._x;
- props.carOrgy = _root.race_clip.p1_cars._y - _root.race_clip.p1_core._y;
- props.carOrgRot = _root.race_clip.p1_cars._rotation - (_root.race_clip.p1_core._rotation + 180);
- props.FrontHitOrgx = _root.race_clip.p1_front_hit._x - _root.race_clip.p1_core._x;
- props.FrontHitOrgy = _root.race_clip.p1_front_hit._y - _root.race_clip.p1_core._y;
- props.FrontHitOrgRot = _root.race_clip.p1_front_hit._rotation - _root.race_clip.p1_core._rotation;
- props.BackHitOrgx = _root.race_clip.p1_back_hit._x - _root.race_clip.p1_core._x;
- props.BackHitOrgy = _root.race_clip.p1_back_hit._y - _root.race_clip.p1_core._y;
- props.BackHitOrgRot = _root.race_clip.p1_back_hit._rotation - _root.race_clip.p1_core._rotation;
- props.LeftHitOrgx = _root.race_clip.p1_left_hit._x - _root.race_clip.p1_core._x;
- props.LeftHitOrgy = _root.race_clip.p1_left_hit._y - _root.race_clip.p1_core._y;
- props.LeftHitOrgRot = _root.race_clip.p1_left_hit._rotation - _root.race_clip.p1_core._rotation;
- props.RightHitOrgx = _root.race_clip.p1_right_hit._x - _root.race_clip.p1_core._x;
- props.RightHitOrgy = _root.race_clip.p1_right_hit._y - _root.race_clip.p1_core._y;
- props.RightHitOrgRot = _root.race_clip.p1_right_hit._rotation - _root.race_clip.p1_core._rotation;
- }
- if(props.name == "pathBot2")
- {
- props.coreOrgx = _root.race_clip.p2_core._x - follower_mc._x;
- props.coreOrgy = _root.race_clip.p2_core._y - follower_mc._y;
- props.coreOrgRot = _root.race_clip.p2_core._rotation - follower_mc._rotation;
- props.carOrgx = _root.race_clip.p2_cars._x - _root.race_clip.p2_core._x;
- props.carOrgy = _root.race_clip.p2_cars._y - _root.race_clip.p2_core._y;
- props.carOrgRot = _root.race_clip.p2_cars._rotation - (_root.race_clip.p2_core._rotation + 180);
- props.FrontHitOrgx = _root.race_clip.p2_front_hit._x - _root.race_clip.p2_core._x;
- props.FrontHitOrgy = _root.race_clip.p2_front_hit._y - _root.race_clip.p2_core._y;
- props.FrontHitOrgRot = _root.race_clip.p2_front_hit._rotation - _root.race_clip.p2_core._rotation;
- props.BackHitOrgx = _root.race_clip.p2_back_hit._x - _root.race_clip.p2_core._x;
- props.BackHitOrgy = _root.race_clip.p2_back_hit._y - _root.race_clip.p2_core._y;
- props.BackHitOrgRot = _root.race_clip.p2_back_hit._rotation - _root.race_clip.p2_core._rotation;
- props.LeftHitOrgx = _root.race_clip.p2_left_hit._x - _root.race_clip.p2_core._x;
- props.LeftHitOrgy = _root.race_clip.p2_left_hit._y - _root.race_clip.p2_core._y;
- props.LeftHitOrgRot = _root.race_clip.p2_left_hit._rotation - _root.race_clip.p2_core._rotation;
- props.RightHitOrgx = _root.race_clip.p2_right_hit._x - _root.race_clip.p2_core._x;
- props.RightHitOrgy = _root.race_clip.p2_right_hit._y - _root.race_clip.p2_core._y;
- props.RightHitOrgRot = _root.race_clip.p2_right_hit._rotation - _root.race_clip.p2_core._rotation;
- }
- if(props.name == "pathBot1")
- {
- props.tyhajakaynti1_sound = new Sound(_root.race_clip.empty1);
- props.tyhajakaynti1_sound.attachSound("tyhjakaynti1_loop.wav");
- props.tyhajakaynti1_sound.setVolume(100);
- props.tyhajakaynti1_sound.start(0,999);
- props.kierroksetTaysilla1_sound = new Sound(_root.race_clip.empty12);
- props.kierroksetTaysilla1_sound.attachSound("KIERROKSET_TAYSILLA.wav");
- props.kierroksetTaysilla1_sound.setVolume(0);
- props.kierroksetTaysilla1_sound.start(0,999);
- props.ajossa1_sound = new Sound(_root.race_clip.empty4);
- props.ajossa1_sound.attachSound("AUTOKIITAA_3.wav");
- props.ajossa1_sound.setVolume(0);
- props.ajossa1_sound.start(0,999);
- props.ulvoo1_sound = new Sound(_root.race_clip.empty6);
- props.ulvoo1_sound.attachSound("RENKAATULVOO_1.wav");
- props.ulvoo1_sound.setVolume(0);
- props.ulvoo2_sound = new Sound(_root.race_clip.empty7);
- props.ulvoo2_sound.attachSound("RENKAATULVOO_2.wav");
- props.ulvoo2_sound.setVolume(0);
- props.ulvoo3_sound = new Sound(_root.race_clip.empty8);
- props.ulvoo3_sound.attachSound("RENKAATULVOO_3.wav");
- props.ulvoo3_sound.setVolume(0);
- props.outOfTrack1_sound = new Sound(_root.race_clip.empty14);
- props.outOfTrack1_sound.attachSound("FORMULA_LENTAA(KORJATTU).wav");
- props.outOfTrack1_sound.setVolume(0);
- }
- else if(props.name == "pathBot2")
- {
- props.tyhajakaynti2_sound = new Sound(_root.race_clip.empty2);
- props.tyhajakaynti2_sound.attachSound("tyhjakaynti2_loop.wav");
- props.tyhajakaynti2_sound.setVolume(100);
- props.tyhajakaynti2_sound.start(0,999);
- props.kierroksetTaysilla2_sound = new Sound(_root.race_clip.empty3);
- props.kierroksetTaysilla2_sound.attachSound("KIERROKSET_TAYSILLA.wav");
- props.kierroksetTaysilla2_sound.setVolume(0);
- props.kierroksetTaysilla2_sound.start(0,999);
- props.ajossa2_sound = new Sound(_root.race_clip.empty5);
- props.ajossa2_sound.attachSound("AUTOKIITAA_7.wav");
- props.ajossa2_sound.setVolume(0);
- props.ajossa2_sound.start(0,999);
- props.ulvoo4_sound = new Sound(_root.race_clip.empty9);
- props.ulvoo4_sound.attachSound("RENKAATULVOO_1.wav");
- props.ulvoo4_sound.setVolume(0);
- props.ulvoo5_sound = new Sound(_root.race_clip.empty10);
- props.ulvoo5_sound.attachSound("RENKAATULVOO_2.wav");
- props.ulvoo5_sound.setVolume(0);
- props.ulvoo5_sound = new Sound(_root.race_clip.empty11);
- props.ulvoo5_sound.attachSound("RENKAATULVOO_3.wav");
- props.ulvoo5_sound.setVolume(0);
- props.outOfTrack2_sound = new Sound(_root.race_clip.empty13);
- props.outOfTrack2_sound.attachSound("FORMULA_LENTAA(KORJATTU).wav");
- props.outOfTrack2_sound.setVolume(0);
- }
- props.tyhajakaynti_sound_vol = 50;
- props.kierroksetTaysilla_sound_vol = 0;
- props.ajossa_sound_vol = 0;
- props.SoundState = "Starting up";
- follower_mc.onEnterFrame = function()
- {
- var props = _root.race_clip[name + follower_mc._parent._name];
- if(props.playerType == "Human")
- {
- if(Key.isDown(useKey))
- {
- props.HittingTheGas = 1;
- }
- else
- {
- props.HittingTheGas = 0;
- }
- }
- else if(props.playerType == "CPU")
- {
- props.brainpower = (6 - _root.BotBrain) * 35;
- props.downornot = random(props.brainpower);
- if(props.downornot > 10)
- {
- props.HittingTheGas = 1;
- }
- else
- {
- props.HittingTheGas = 0;
- }
- }
- if(_root.RaceOn == 0 and _root.winner == 0)
- {
- props.count = 1;
- props.origSpeedX = 0;
- props.origSpeedY = 0;
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- props.TrackOut = 0;
- props.Collision = 0;
- props.speedAdd = 0;
- props.inGoal = 0;
- _root.race_clip.p1PathBot._x = _root.p1StartSpot[0];
- _root.race_clip.p1PathBot._y = _root.p1StartSpot[1];
- _root.race_clip.p1PathBot._rotation = _root.p1StartSpot[2];
- _root.race_clip.p2PathBot._x = _root.p2StartSpot[0];
- _root.race_clip.p2PathBot._y = _root.p2StartSpot[1];
- _root.race_clip.p2PathBot._rotation = _root.p2StartSpot[2];
- if(props.name == "pathBot1")
- {
- props.newPosX = follower_mc._parent.p1Anchors[anchorName + props.count]._x + _root.race_clip.p1Anchors._x;
- props.newPosY = follower_mc._parent.p1Anchors[anchorName + props.count]._y + _root.race_clip.p1Anchors._y;
- }
- else if(props.name == "pathBot2")
- {
- props.newPosX = follower_mc._parent.p2Anchors[anchorName + props.count]._x + _root.race_clip.p2Anchors._x;
- props.newPosY = follower_mc._parent.p2Anchors[anchorName + props.count]._y + _root.race_clip.p2Anchors._y;
- }
- }
- else if(_root.RaceOn == 0 and _root.winner != 0)
- {
- props.ajossa1_sound.stop();
- props.tyhajakaynti1_sound.stop();
- props.kierroksetTaysilla1_sound.stop();
- props.ajossa2_sound.stop();
- props.tyhajakaynti2_sound.stop();
- props.kierroksetTaysilla2_sound.stop();
- }
- if(props.HittingTheGas == 1 and _root.RaceOn == 0)
- {
- if(props.kierroksetTaysilla_sound_vol < 100)
- {
- props.kierroksetTaysilla_sound_vol += 10;
- }
- if(props.tyhajakaynti_sound_vol > 0)
- {
- props.tyhajakaynti_sound_vol -= 10;
- }
- }
- else if(props.HittingTheGas == 0 and _root.RaceOn == 0)
- {
- if(props.kierroksetTaysilla_sound_vol > 0)
- {
- props.kierroksetTaysilla_sound_vol -= 10;
- }
- if(props.tyhajakaynti_sound_vol < 30)
- {
- props.tyhajakaynti_sound_vol += 5;
- }
- }
- else if(props.HittingTheGas == 1 and _root.RaceOn == 1)
- {
- if(props.kierroksetTaysilla_sound_vol < 80)
- {
- props.kierroksetTaysilla_sound_vol += 10;
- }
- if(props.tyhajakaynti_sound_vol > 0.123)
- {
- props.tyhajakaynti_sound_vol -= 5;
- }
- else
- {
- props.tyhajakaynti_sound_vol = 0.123;
- }
- if(props.ajossa_sound_vol < 40)
- {
- props.ajossa_sound_vol += 10;
- }
- }
- else if(props.HittingTheGas == 0 and _root.RaceOn == 1)
- {
- if(props.tyhajakaynti_sound_vol == 0.123)
- {
- trace("kerran");
- props.tyhajakaynti_sound_vol = 50;
- }
- if(props.kierroksetTaysilla_sound_vol > 0)
- {
- props.kierroksetTaysilla_sound_vol -= 10;
- }
- if(props.tyhajakaynti_sound_vol > 0)
- {
- props.tyhajakaynti_sound_vol -= 2.5;
- }
- if(props.ajossa_sound_vol > 0)
- {
- props.ajossa_sound_vol -= 2;
- }
- }
- else if(_root.RaceOn == 1 and props.SoundState == "Starting up")
- {
- props.kierroksetTaysilla_sound_vol = 50;
- props.SoundState = "Driving";
- }
- if(props.name == "pathBot1")
- {
- props.kierroksetTaysilla1_sound.setVolume(props.kierroksetTaysilla_sound_vol);
- props.tyhajakaynti1_sound.setVolume(props.tyhajakaynti_sound_vol);
- props.ajossa1_sound.setVolume(props.ajossa_sound_vol);
- }
- else if(props.name == "pathBot2")
- {
- props.kierroksetTaysilla2_sound.setVolume(props.kierroksetTaysilla_sound_vol);
- props.tyhajakaynti2_sound.setVolume(props.tyhajakaynti_sound_vol);
- props.ajossa2_sound.setVolume(props.ajossa_sound_vol);
- }
- if(props.TrackOut != 1 and props.Collision != 1 and _root.RaceOn != 0)
- {
- if(props.name == "pathBot1")
- {
- if(props.testSpeed > 10 and props.InCurve == "Yes")
- {
- if(props.testSpeed > 14)
- {
- props.SlidingVolume = props.testSpeed * 3;
- props.ulvoo1_sound.start(0,1);
- props.ulvoo1_sound.setVolume(props.SlidingVolume);
- }
- else if(props.testSpeed > 12)
- {
- props.SlidingVolume = props.testSpeed * 2;
- props.ulvoo2_sound.start(0,1);
- props.ulvoo2_sound.setVolume(props.SlidingVolume);
- }
- else if(props.testSpeed > 10)
- {
- props.SlidingVolume = props.testSpeed * 1;
- props.ulvoo3_sound.start(0,1);
- props.ulvoo3_sound.setVolume(props.SlidingVolume);
- }
- }
- }
- else if(props.name == "pathBot2")
- {
- if(props.testSpeed > 10 and props.InCurve == "Yes")
- {
- if(props.testSpeed > 14)
- {
- props.SlidingVolume = props.testSpeed * 3;
- props.ulvoo4_sound.start(0,1);
- props.ulvoo4_sound.setVolume(props.SlidingVolume);
- }
- else if(props.testSpeed > 12)
- {
- props.SlidingVolume = props.testSpeed * 2;
- props.ulvoo5_sound.start(0,1);
- props.ulvoo5_sound.setVolume(props.SlidingVolume);
- }
- else if(props.testSpeed > 10)
- {
- props.SlidingVolume = props.testSpeed * 1;
- props.ulvoo6_sound.start(0,1);
- props.ulvoo6_sound.setVolume(props.SlidingVolume);
- }
- }
- }
- }
- if(props.HittingTheGas == 1 and props.TrackOut != 1 and props.Collision != 1 and _root.RaceOn != 0 and props.inGoal == 0)
- {
- if(props.SpedAdder.interval == 0)
- {
- props.SpedAdder = new Object();
- props.SpedAdder.interval = function()
- {
- props.speedAdd += props.speedAddBit;
- };
- setInterval(props.SpedAdder,"interval",1200);
- }
- if(props.speedX > props.speedY)
- {
- props.testSpeed = props.speedX;
- }
- else
- {
- props.testSpeed = props.speedY;
- }
- if(props.testSpeed <= props.maxSpeed + props.speedAdd)
- {
- if(props.testSpeed == 0)
- {
- props.origSpeedX = 1;
- props.origSpeedY = 1;
- }
- props.origSpeedX *= props.thrust;
- props.origSpeedY *= props.thrust;
- if(props.testSpeed > props.maxSpeed + props.speedAdd)
- {
- props.origSpeedX = props.maxSpeed + props.speedAdd;
- props.origSpeedY = props.maxSpeed + props.speedAdd;
- }
- if(props.testSpeed > props.maxSpeedOrg * 1.8)
- {
- props.origSpeedX = props.testSpeed = props.maxSpeedOrg * 1.8;
- props.origSpeedY = props.testSpeed = props.maxSpeedOrg * 1.8;
- }
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- }
- else if(props.testSpeed > props.maxSpeed + props.speedAdd)
- {
- props.origSpeedX *= 0.96;
- props.origSpeedY *= 0.96;
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- }
- }
- else if(props.TrackOut != 1)
- {
- props.SpedAdder.interval = 0;
- props.speedAdd *= 0.98;
- if(props.testSpeed > 0)
- {
- props.origSpeedX *= props.decay;
- props.origSpeedY *= props.decay;
- if(props.testSpeed < 0.2)
- {
- props.origSpeedX = 0;
- props.origSpeedY = 0;
- }
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- }
- }
- if(props.TrackOut != 1 and props.Collision != 1)
- {
- if(props.newPosX > this._x)
- {
- if(Math.abs(props.newPosX - this._x) < props.origSpeedX)
- {
- this._x = props.newPosX;
- }
- else
- {
- this._x += props.speedX;
- }
- }
- else if(props.newPosX < this._x)
- {
- if(Math.abs(props.newPosX - this._x) < props.origSpeedX)
- {
- this._x = props.newPosX;
- }
- else
- {
- this._x -= props.speedX;
- }
- }
- if(props.newPosY > this._y)
- {
- if(Math.abs(props.newPosY - this._y) < props.origSpeedY)
- {
- this._y = props.newPosY;
- }
- else
- {
- this._y += props.speedY;
- }
- }
- else if(props.newPosY < this._y)
- {
- if(Math.abs(props.newPosY - this._y) < props.origSpeedY)
- {
- this._y = props.newPosY;
- }
- else
- {
- this._y -= props.speedY;
- }
- }
- if((Math.round(props.newPosX - this._x) <= 0 && Math.round(props.newPosX - this._x) >= - props.speedX || Math.round(props.newPosX - this._x) >= 0 && Math.round(props.newPosX - this._x) <= props.speedX) && (Math.round(props.newPosY - this._y) <= 0 && Math.round(props.newPosY - this._y) >= - props.speedY || Math.round(props.newPosY - this._y) >= 0 && Math.round(props.newPosY - this._y) <= props.speedY))
- {
- if(props.count == props.maxcount)
- {
- props.count = 1;
- if(props.name == "pathBot1")
- {
- _root.race_clip.RaceClock("P1_lapEnd");
- if(_root.p1Laps == 1 and _root.RaceOn == 1)
- {
- _root.p1Laps = 0;
- props.inGoal = 1;
- _root.RaceOn = 0;
- _root.race_clip.RaceState("p1Win");
- _root.race_clip.RaceClock("P1_delete");
- _root.race_clip.RaceClock("P2_delete");
- props.ajossa1_sound.stop();
- props.tyhajakaynti1_sound.stop();
- props.kierroksetTaysilla1_sound.stop();
- _root.race_clip.RaceClock(2);
- _root.race_clip.scoresClip.gotoAndPlay("raceOver");
- }
- else
- {
- _root.p1Laps -= 1;
- _root.race_clip.RaceClock("P1_lapStart");
- }
- }
- else if(props.name == "pathBot2")
- {
- _root.race_clip.RaceClock("P2_lapEnd");
- if(_root.p2Laps == 1 and _root.RaceOn == 1)
- {
- _root.p2Laps = 0;
- props.inGoal = 1;
- _root.RaceOn = 0;
- _root.race_clip.RaceState("p2Win");
- _root.race_clip.RaceClock("P1_delete");
- _root.race_clip.RaceClock("P2_delete");
- props.ajossa2_sound.stop();
- props.tyhajakaynti2_sound.stop();
- props.kierroksetTaysilla2_sound.stop();
- _root.race_clip.RaceClock(2);
- _root.race_clip.scoresClip.gotoAndPlay("raceOver");
- }
- else
- {
- _root.p2Laps -= 1;
- _root.race_clip.RaceClock("P2_lapStart");
- }
- }
- }
- else
- {
- props.count = props.count + 1;
- props.addSpot = 0;
- while(props.addSpot < _root.StartAgainSpotsP1.length)
- {
- if(props.name == "pathBot1")
- {
- if(_root.StartAgainSpotsP1[props.addSpot][0] == props.count and _root.StartAgainSpotsP1[props.addSpot][1] == 0)
- {
- props.ax = this._x;
- props.ay = this._y;
- props.arot = this._rotation;
- _root.StartAgainSpotsP1[props.addSpot][1] = [props.ax,props.ay,props.arot];
- }
- }
- else if(props.name == "pathBot2")
- {
- if(_root.StartAgainSpotsP2[props.addSpot][0] == props.count and _root.StartAgainSpotsP2[props.addSpot][1] == 0)
- {
- props.ax = this._x;
- props.ay = this._y;
- props.arot = this._rotation;
- _root.StartAgainSpotsP2[props.addSpot][1] = [props.ax,props.ay,props.arot];
- }
- }
- props.addSpot += 1;
- }
- }
- props.oldX = props.newPosX;
- props.oldY = props.newPosY;
- if(props.name == "pathBot1")
- {
- props.newPosX = this._parent.p1Anchors[anchorName + props.count]._x + _root.race_clip.p1Anchors._x;
- props.newPosY = this._parent.p1Anchors[anchorName + props.count]._y + _root.race_clip.p1Anchors._y;
- }
- else if(props.name == "pathBot2")
- {
- props.newPosX = this._parent.p2Anchors[anchorName + props.count]._x + _root.race_clip.p2Anchors._x;
- props.newPosY = this._parent.p2Anchors[anchorName + props.count]._y + _root.race_clip.p2Anchors._y;
- }
- props.delta_x = props.oldX - props.newPosX;
- props.delta_y = props.oldY - props.newPosY;
- props.targetRotation = (- Math.atan2(props.delta_x,props.delta_y)) / 0.017453292519943295;
- if(this._rotation != props.targetRotation)
- {
- this._rotation = props.targetRotation;
- }
- props.diffX = Math.round(Math.abs(props.newPosX - this._x));
- props.diffY = Math.round(Math.abs(props.newPosY - this._y));
- if(props.diffY > props.diffX)
- {
- props.speedX = props.diffX / (props.diffY / props.origSpeedX);
- props.speedY = props.origSpeedY;
- }
- else if(props.diffX > props.diffY)
- {
- props.speedX = props.origSpeedX;
- props.speedY = props.diffY / (props.diffX / props.origSpeedY);
- }
- }
- }
- props.InCurve = _root.race_clip.CurveCheck(props.count,props.playernum);
- if(props.InCurve == "Yes")
- {
- if(props.speedX > props.speedY)
- {
- props.testSpeed = props.speedX;
- }
- else
- {
- props.testSpeed = props.speedY;
- }
- if((props.testSpeed >= props.maxSpeedOrg + props.speedAddMax or props.testSpeed > 20) and props.testSpeed > 15)
- {
- if(props.TrackOut != 1)
- {
- if(props.name == "pathBot1")
- {
- _root.p1TrackOut = 1;
- _root.p1Speed = 0;
- props.ajossa1_sound.setVolume(0);
- props.tyhajakaynti1_sound.setVolume(0);
- props.kierroksetTaysilla1_sound.setVolume(0);
- props.ulvoo2_sound.setVolume(100);
- props.ulvoo2_sound.start(0,1);
- props.outOfTrack1_sound.setVolume(100);
- props.outOfTrack1_sound.start(0,1);
- }
- else if(props.name == "pathBot2")
- {
- _root.p2TrackOut = 1;
- _root.p2Speed = 0;
- props.ajossa2_sound.setVolume(0);
- props.tyhajakaynti2_sound.setVolume(0);
- props.kierroksetTaysilla2_sound.setVolume(0);
- props.ulvoo4_sound.setVolume(100);
- props.ulvoo4_sound.start(0,1);
- props.outOfTrack2_sound.setVolume(100);
- props.outOfTrack2_sound.start(0,1);
- }
- props.TrackOut = 1;
- props.testX = props.oldX - props.newPosX;
- if(props.testX < 0)
- {
- props.xoutMoveSpeed = props.speedX;
- }
- else
- {
- props.xoutMoveSpeed = - props.speedX;
- }
- props.testY = props.oldY - props.newPosY;
- if(props.testY < 0)
- {
- props.youtMoveSpeed = props.speedY;
- }
- else
- {
- props.youtMoveSpeed = - props.speedY;
- }
- props.lastValidProp = props.count - 1;
- props.lastValidRot = this._rotation;
- props.lastValidx = this._x;
- props.lastValidy = this._y;
- props.trackOutAnim = 0;
- if(props.xoutMoveSpeed < -10)
- {
- props.xoutMoveSpeed = -10;
- }
- else if(props.xoutMoveSpeed > 10)
- {
- props.xoutMoveSpeed = 10;
- }
- if(props.youtMoveSpeed < -10)
- {
- props.youtMoveSpeed = -10;
- }
- else if(props.youtMoveSpeed > 10)
- {
- props.youtMoveSpeed = 10;
- }
- if(Math.abs(props.xoutMoveSpeed) > Math.abs(props.youtMoveSpeed))
- {
- props.RotoutMoveSpeed = - props.xoutMoveSpeed * (1 + random(0.8));
- }
- else
- {
- props.RotoutMoveSpeed = - props.youtMoveSpeed * (1 + random(0.8));
- }
- }
- props.xoutMoveSpeed *= 0.9;
- props.youtMoveSpeed *= 0.9;
- props.RotoutMoveSpeed *= 0.9;
- this._x += props.xoutMoveSpeed;
- this._y += props.youtMoveSpeed;
- this._rotation += props.RotoutMoveSpeed;
- props.trackOutAnim += 1;
- if(props.trackOutAnim > 50 and props.TrackOut == 1)
- {
- if(props.name == "pathBot1")
- {
- _root.p1TrackOut = 0;
- }
- else if(props.name == "pathBot2")
- {
- _root.p2TrackOut = 0;
- }
- props.TrackOut = 0;
- props.fixRotation = 1;
- props.xoutMoveSpeed = 0;
- props.youtMoveSpeed = 0;
- props.RotoutMoveSpeed = 0;
- props.maxSpeed = props.maxSpeedOrg;
- props.SpedAdder.interval = 0;
- props.speedAdd = 0;
- props.rotState = "waiting";
- props.origSpeedX = 0;
- props.origSpeedY = 0;
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- this._x = props.lastValidx;
- this._y = props.lastValidy;
- this._rotation = props.lastValidRot;
- }
- }
- }
- else if(props.InCurve == "No")
- {
- }
- props.ClipsToTest = 0;
- while(props.ClipsToTest != 5)
- {
- props.ClipsToTest += 1;
- if(props.name == "pathBot1")
- {
- switch(props.ClipsToTest)
- {
- case 1:
- props.hitTestClip = _root.race_clip.p2PathBot;
- break;
- case 2:
- props.hitTestClip = _root.race_clip.p2_front_hit;
- break;
- case 3:
- props.hitTestClip = _root.race_clip.p2_right_hit;
- break;
- case 4:
- props.hitTestClip = _root.race_clip.p2_back_hit;
- break;
- case 5:
- props.hitTestClip = _root.race_clip.p2_left_hit;
- }
- }
- else if(props.name == "pathBot2")
- {
- switch(props.ClipsToTest)
- {
- case 1:
- props.hitTestClip = _root.race_clip.p1PathBot;
- break;
- case 2:
- props.hitTestClip = _root.race_clip.p1_front_hit;
- break;
- case 3:
- props.hitTestClip = _root.race_clip.p1_right_hit;
- break;
- case 4:
- props.hitTestClip = _root.race_clip.p1_back_hit;
- break;
- case 5:
- props.hitTestClip = _root.race_clip.p1_left_hit;
- }
- }
- if(this.hitTest(props.hitTestClip))
- {
- props.ClipsToTest = 5;
- }
- }
- if(this.hitTest(props.hitTestClip) and props.Collision == 0 and props.TrackOut == 0)
- {
- props.Collision = 1;
- if(props.name == "pathBot1")
- {
- props.ajossa1_sound.setVolume(0);
- props.tyhajakaynti1_sound.setVolume(0);
- props.kierroksetTaysilla1_sound.setVolume(0);
- _root.p1Collision = 1;
- _root.p1Speed = 0;
- }
- else if(props.name == "pathBot2")
- {
- props.ajossa2_sound.setVolume(0);
- props.tyhajakaynti2_sound.setVolume(0);
- props.kierroksetTaysilla2_sound.setVolume(0);
- _root.p2Collision = 1;
- _root.p2Speed = 0;
- }
- props.xoutMoveSpeed = props.speedX;
- props.youtMoveSpeed = props.speedY;
- if(props.xoutMoveSpeed > props.maxSpeed)
- {
- props.xoutMoveSpeed = props.maxSpeed;
- }
- else if(props.xoutMoveSpeed < - props.maxSpeed)
- {
- props.xoutMoveSpeed = - props.maxSpeed;
- }
- if(props.youtMoveSpeed > props.maxSpeed)
- {
- props.youtMoveSpeed = props.maxSpeed;
- }
- else if(props.youtMoveSpeed < - props.maxSpeed)
- {
- props.youtMoveSpeed = - props.maxSpeed;
- }
- props.lastValidProp = 1;
- props.lastValidRot = this._rotation;
- props.lastValidx = this._x;
- props.lastValidy = this._y;
- props.CollisionAnim = 0;
- if(props.xoutMoveSpeed > props.youtMoveSpeed)
- {
- props.RotoutMoveSpeed = - props.xoutMoveSpeed * (1 + random(0.9));
- }
- else
- {
- props.RotoutMoveSpeed = - props.youtMoveSpeed * (1 + random(0.9));
- }
- if(props.RotoutMoveSpeed > props.maxSpeed)
- {
- props.RotoutMoveSpeed = props.maxSpeed;
- }
- else if(props.RotoutMoveSpeed < - props.maxSpeed)
- {
- props.RotoutMoveSpeed = - props.maxSpeed;
- }
- }
- props.xoutMoveSpeed *= 0.9 + random(0.07);
- props.youtMoveSpeed *= 0.9 + random(0.07);
- props.RotoutMoveSpeed *= 0.9 + random(0.07);
- this._x += props.xoutMoveSpeed;
- this._y += props.youtMoveSpeed;
- this._rotation += props.RotoutMoveSpeed;
- props.CollisionAnim += 1;
- if(props.CollisionAnim > 50 and props.Collision == 1)
- {
- if(props.name == "pathBot1")
- {
- _root.p1Collision = 0;
- }
- else if(props.name == "pathBot2")
- {
- _root.p2Collision = 0;
- }
- props.Collision = 0;
- props.fixRotation = 1;
- props.xoutMoveSpeed = 0;
- props.youtMoveSpeed = 0;
- props.RotoutMoveSpeed = 0;
- props.maxSpeed = props.maxSpeedOrg;
- props.SpedAdder.interval = 0;
- props.speedAdd = 0;
- props.rotState = "waiting";
- props.origSpeedX = 0;
- props.origSpeedY = 0;
- props.speedX = props.origSpeedX;
- props.speedY = props.origSpeedY;
- props.newStartSpot = _root.race_clip.returnStartSpot(props.count,props.name);
- if(props.name == "pathBot1")
- {
- _root.race_clip.p1PathBot._x = props.newStartSpot[0];
- _root.race_clip.p1PathBot._y = props.newStartSpot[1];
- _root.race_clip.p1PathBot._rotation = props.newStartSpot[2];
- props.count = props.newStartSpot[3];
- props.newPosX = follower_mc._parent.p1Anchors[anchorName + props.count]._x + _root.race_clip.p1Anchors._x;
- props.newPosY = follower_mc._parent.p1Anchors[anchorName + props.count]._y + _root.race_clip.p1Anchors._y;
- }
- else if(props.name == "pathBot2")
- {
- _root.race_clip.p2PathBot._x = props.newStartSpot[0];
- _root.race_clip.p2PathBot._y = props.newStartSpot[1];
- _root.race_clip.p2PathBot._rotation = props.newStartSpot[2];
- props.count = props.newStartSpot[3];
- props.newPosX = follower_mc._parent.p2Anchors[anchorName + props.count]._x + _root.race_clip.p2Anchors._x;
- props.newPosY = follower_mc._parent.p2Anchors[anchorName + props.count]._y + _root.race_clip.p2Anchors._y;
- }
- }
- if(props.speedX > props.speedY)
- {
- props.testSpeed = props.speedX;
- }
- else
- {
- props.testSpeed = props.speedY;
- }
- if(props.TrackOut == 1)
- {
- props.testSpeed = 0;
- }
- if(props.name == "pathBot1")
- {
- _root.p1Speed = Math.round(props.testSpeed);
- _root.p1MaxSpeed = Math.round(props.maxSpeed);
- if(_root.p1InGoal != 1)
- {
- _root.RaceTimeP1 = _root.RaceClockTime;
- }
- }
- else if(props.name == "pathBot2")
- {
- _root.p2Speed = Math.round(props.testSpeed);
- _root.p2MaxSpeed = Math.round(props.maxSpeed);
- if(_root.p2InGoal != 1)
- {
- _root.RaceTimeP2 = _root.RaceClockTime;
- }
- }
- props.magnetOrgx = this._x;
- props.magnetOrgy = this._y;
- props.magnetOrgRot = this._rotation;
- if(props.name == "pathBot1")
- {
- props.rotationCheck = Math.round(_root.race_clip.p1_core._rotation - (this._rotation + props.coreOrgRot));
- }
- else if(props.name == "pathBot2")
- {
- props.rotationCheck = Math.round(_root.race_clip.p2_core._rotation - (this._rotation + props.coreOrgRot));
- }
- if(Math.abs(props.testSpeed) == 0)
- {
- props.fixRotation = 1;
- }
- if(props.fixRotation == 1)
- {
- props.newRotation = this._rotation + props.coreOrgRot;
- props.fixRotation = 0;
- props.rotationCheck = 0;
- }
- if(props.rotationCheck > 200)
- {
- props.rotationCheck -= 360;
- }
- if(!(props.rotationCheck == 360 or props.rotationCheck == 0))
- {
- if(Math.abs(props.rotationCheck) < 1)
- {
- props.fixRotation = 0;
- props.newRotation = this._rotation + props.coreOrgRot;
- }
- else
- {
- if(Math.abs(props.rotationCheck) < 5)
- {
- props.splitter = Math.abs(props.rotationCheck);
- }
- else if(Math.abs(props.rotationCheck) < 10)
- {
- props.splitter = 3;
- }
- else if(Math.abs(props.rotationCheck) < 15)
- {
- props.splitter = 3;
- }
- else if(Math.abs(props.rotationCheck) < 20)
- {
- props.splitter = 3;
- }
- else if(Math.abs(props.rotationCheck) > 20)
- {
- props.splitter = 2;
- }
- props.rotaBit = - props.rotationCheck / props.splitter;
- if(Math.abs(props.rotaBit) < 2)
- {
- props.newRotation = this._rotation + props.coreOrgRot;
- }
- else if(props.name == "pathBot1")
- {
- props.newRotation = _root.race_clip.p1_core._rotation + props.rotaBit;
- }
- else if(props.name == "pathBot2")
- {
- props.newRotation = _root.race_clip.p2_core._rotation + props.rotaBit;
- }
- }
- }
- if(props.name == "pathBot1")
- {
- _root.race_clip.p1_core._rotation = props.newRotation;
- }
- else if(props.name == "pathBot2")
- {
- _root.race_clip.p2_core._rotation = props.newRotation;
- }
- if(props.name == "pathBot1")
- {
- _root.race_clip.p1_core._x = this._x + props.coreOrgx;
- _root.race_clip.p1_core._y = this._y + props.coreOrgy;
- _root.race_clip.p1_cars._x = _root.race_clip.p1_core._x - props.carOrgx;
- _root.race_clip.p1_cars._y = _root.race_clip.p1_core._y - props.carOrgy;
- _root.race_clip.p1_cars._rotation = _root.race_clip.p1_core._rotation - props.carOrgRot;
- _root.race_clip.p1_front_hit._x = _root.race_clip.p1_core._x + props.FrontHitOrgx;
- _root.race_clip.p1_front_hit._y = _root.race_clip.p1_core._y + props.FrontHitOrgy;
- _root.race_clip.p1_front_hit._rotation = _root.race_clip.p1_core._rotation + props.FrontHitOrgRot;
- _root.race_clip.p1_back_hit._x = _root.race_clip.p1_core._x + props.BackHitOrgx;
- _root.race_clip.p1_back_hit._y = _root.race_clip.p1_core._y + props.BackHitOrgy;
- _root.race_clip.p1_back_hit._rotation = _root.race_clip.p1_core._rotation + props.BackHitOrgRot;
- _root.race_clip.p1_left_hit._x = _root.race_clip.p1_core._x + props.LeftHitOrgx;
- _root.race_clip.p1_left_hit._y = _root.race_clip.p1_core._y + props.LeftHitOrgy;
- _root.race_clip.p1_left_hit._rotation = _root.race_clip.p1_core._rotation + props.LeftHitOrgRot;
- _root.race_clip.p1_right_hit._x = _root.race_clip.p1_core._x + props.RightHitOrgx;
- _root.race_clip.p1_right_hit._y = _root.race_clip.p1_core._y + props.RightHitOrgy;
- _root.race_clip.p1_right_hit._rotation = _root.race_clip.p1_core._rotation + props.RightHitOrgRot;
- }
- if(props.name == "pathBot2")
- {
- _root.race_clip.p2_core._x = this._x + props.coreOrgx;
- _root.race_clip.p2_core._y = this._y + props.coreOrgy;
- _root.race_clip.p2_cars._x = _root.race_clip.p2_core._x - props.carOrgx;
- _root.race_clip.p2_cars._y = _root.race_clip.p2_core._y - props.carOrgy;
- _root.race_clip.p2_cars._rotation = _root.race_clip.p2_core._rotation - props.carOrgRot;
- _root.race_clip.p2_front_hit._x = _root.race_clip.p2_core._x + props.FrontHitOrgx;
- _root.race_clip.p2_front_hit._y = _root.race_clip.p2_core._y + props.FrontHitOrgy;
- _root.race_clip.p2_front_hit._rotation = _root.race_clip.p2_core._rotation + props.FrontHitOrgRot;
- _root.race_clip.p2_back_hit._x = _root.race_clip.p2_core._x + props.BackHitOrgx;
- _root.race_clip.p2_back_hit._y = _root.race_clip.p2_core._y + props.BackHitOrgy;
- _root.race_clip.p2_back_hit._rotation = _root.race_clip.p2_core._rotation + props.BackHitOrgRot;
- _root.race_clip.p2_left_hit._x = _root.race_clip.p2_core._x + props.LeftHitOrgx;
- _root.race_clip.p2_left_hit._y = _root.race_clip.p2_core._y + props.LeftHitOrgy;
- _root.race_clip.p2_left_hit._rotation = _root.race_clip.p2_core._rotation + props.LeftHitOrgRot;
- _root.race_clip.p2_right_hit._x = _root.race_clip.p2_core._x + props.RightHitOrgx;
- _root.race_clip.p2_right_hit._y = _root.race_clip.p2_core._y + props.RightHitOrgy;
- _root.race_clip.p2_right_hit._rotation = _root.race_clip.p2_core._rotation + props.RightHitOrgRot;
- }
- };
- }
- }
-