home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Corrida / SkiDooTT.swf / scripts / frame_2 / DoAction.as
Encoding:
Text File  |  2005-08-08  |  6.8 KB  |  309 lines

  1. function initSFX()
  2. {
  3.    sfxCollect = new Sound();
  4.    sfxCollect.attachSound("sfxCollect.WAV");
  5.    sfxBuzz = new Sound();
  6.    sfxBuzz.attachSound("sfxBuzz.WAV");
  7.    menuMusic = new Sound();
  8.    menuMusic.attachSound("menuMusic");
  9. }
  10. function startSounds()
  11. {
  12.    if(_currentframe < 15)
  13.    {
  14.       menuMusic.start(0,999999);
  15.    }
  16.    ol.sfxWind.setVolume(0);
  17.    ol.sfxWind.start(0,10000);
  18.    skidoo.sfxMotor.setVolume(0);
  19.    skidoo.sfxMotor.start(0,10000);
  20.    skidoo.sfxIdle.setVolume(0);
  21.    skidoo.sfxIdle.start(0,10000);
  22. }
  23. function newGame()
  24. {
  25.    if(courseNum == 1)
  26.    {
  27.       scoreTime = 0;
  28.    }
  29.    ol.startWind();
  30.    gameOn = true;
  31.    gameOver = false;
  32.    timerOn = false;
  33.    boostCount = 0;
  34.    bulletsNum = 10;
  35.    lap = 1;
  36.    ol.lap = 1;
  37.    screen = 1;
  38.    screenVisits = new Array();
  39.    i = 0;
  40.    while(screenCount >= i)
  41.    {
  42.       screenVisits.push(0);
  43.       i++;
  44.    }
  45. }
  46. function rampCheck(x, y)
  47. {
  48.    rampNum = courseRamps[screen];
  49.    if(rampNum == 0)
  50.    {
  51.       return 0;
  52.    }
  53.    ramp = eval("bg.ramp" + rampNum);
  54.    onRamp = ramp.hitTest(x,y,true);
  55.    if(onRamp)
  56.    {
  57.       if(rampNum == 1 || rampNum == 3)
  58.       {
  59.          rampTop = bg._y + ramp._y;
  60.          rampGirth = ramp._height;
  61.       }
  62.       else
  63.       {
  64.          rampTop = bg._x + ramp._x;
  65.          rampGirth = ramp._width;
  66.       }
  67.       if(rampNum == 1 || rampNum == 4)
  68.       {
  69.          rampBottom = rampTop + rampGirth;
  70.          rampBumpLine = rampTop + rampGirth * 0.6;
  71.          rampJumpLine = rampTop + rampGirth * 0.1;
  72.       }
  73.       else
  74.       {
  75.          rampBottom = rampTop - rampGirth;
  76.          rampBumpLine = rampTop - rampGirth * 0.6;
  77.          rampJumpLine = rampTop - rampGirth * 0.1;
  78.       }
  79.       if(!skidoo.onRamp)
  80.       {
  81.          if(rampNum == 1 && y < rampBumpLine || rampNum == 3 && rampBumpLine < y || rampNum == 2 && rampBumpLine < x || rampNum == 4 && x < rampBumpLine)
  82.          {
  83.             return 2;
  84.          }
  85.          skidoo.onRamp = true;
  86.       }
  87.       else
  88.       {
  89.          if(rampNum == 1 || rampNum == 3)
  90.          {
  91.             scale = Math.abs(rampBottom - y);
  92.          }
  93.          else
  94.          {
  95.             scale = Math.abs(rampBottom - x);
  96.          }
  97.          scale *= 30 / rampGirth;
  98.          scale += 100;
  99.          skidoo._xscale = scale;
  100.          skidoo._yscale = scale;
  101.          if(rampNum == 1 && y < rampJumpLine || rampNum == 3 && rampJumpLine < y || rampNum == 2 && rampJumpLine < x || rampNum == 4 && x < rampJumpLine)
  102.          {
  103.             skidoo.startJump();
  104.          }
  105.       }
  106.    }
  107.    else if(skidoo.onRamp)
  108.    {
  109.       skidoo._xscale = 100;
  110.       skidoo._yscale = 100;
  111.       skidoo.onRamp = false;
  112.    }
  113.    return 0;
  114. }
  115. function edgeCollisions(x, y)
  116. {
  117.    exit = courseExit[screen];
  118.    entrance = courseEntrance[screen];
  119.    prevScreen = screen;
  120.    if(x < 0 || 600 < x || y < 20 || 480 < y)
  121.    {
  122.       if(x < 0 && (exit == 4 || entrance == 4))
  123.       {
  124.          skidoo._x += 600;
  125.          screen++;
  126.          if(entrance == 4)
  127.          {
  128.             screen -= 2;
  129.          }
  130.       }
  131.       else if(600 < x && (exit == 2 || entrance == 2))
  132.       {
  133.          skidoo._x -= 600;
  134.          screen++;
  135.          if(entrance == 2)
  136.          {
  137.             screen -= 2;
  138.          }
  139.       }
  140.       else if(y < 20 && (exit == 1 || entrance == 1))
  141.       {
  142.          skidoo._y += 460;
  143.          screen++;
  144.          if(entrance == 1)
  145.          {
  146.             screen -= 2;
  147.          }
  148.       }
  149.       else
  150.       {
  151.          if(!(480 < y && (exit == 3 || entrance == 3)))
  152.          {
  153.             return 2;
  154.          }
  155.          skidoo._y -= 460;
  156.          screen++;
  157.          if(entrance == 3)
  158.          {
  159.             screen -= 2;
  160.          }
  161.       }
  162.       if(screenCount < screen)
  163.       {
  164.          screen = 1;
  165.       }
  166.       if(screen < 1)
  167.       {
  168.          screen = screenCount;
  169.       }
  170.       if(screen != prevScreen)
  171.       {
  172.          if(bg.ballMove)
  173.          {
  174.             ball = eval("bg.ball" + prevScreen);
  175.             bg.ballMove = false;
  176.             bg.ballXpos[prevScreen] = ball._x;
  177.             bg.ballYpos[prevScreen] = ball._y;
  178.          }
  179.          bg.gotoAndStop(screen);
  180.          screenVisits[screen] = lap;
  181.          return 1;
  182.       }
  183.    }
  184.    return 0;
  185. }
  186. function courseCollisions(x, y)
  187. {
  188.    if(0 < boostCount)
  189.    {
  190.       boostCount -= 0.5;
  191.       ol.boost.gotoAndStop(boostCount);
  192.    }
  193.    trackCheck = bg.track.hitTest(x,y,true);
  194.    if(trackCheck)
  195.    {
  196.       skidoo.topspeed = 7 + boostCount / 15;
  197.    }
  198.    else
  199.    {
  200.       skidoo.speed *= 0.8;
  201.       skidoo.topspeed = 7;
  202.    }
  203.    boardsCheck = bg.boards.hitTest(x,y,true);
  204.    if(boardsCheck)
  205.    {
  206.       trace("hit board");
  207.       return 2;
  208.    }
  209.    ball = eval("bg.ball" + screen);
  210.    ballCheck = ball.hitTest(x,y,true);
  211.    if(ballCheck)
  212.    {
  213.       bg.moveBall(x,y,Math.abs(skidoo.speed));
  214.       return 2;
  215.    }
  216.    iceCheck = bg.ice.hitTest(x,y,true);
  217.    if(iceCheck && skidoo.iceSkid == 0)
  218.    {
  219.       skidoo.iceSkid = 20;
  220.    }
  221.    rollerCheck = bg.roller.hitTest(x,y,false);
  222.    if(rollerCheck && skidoo.spin == 0)
  223.    {
  224.       skidoo.spin = 50;
  225.       if(random(2) == 0)
  226.       {
  227.          skidoo.spin = -50;
  228.       }
  229.    }
  230.    ammoCheck = bg.ammo.hitTest(skidoo);
  231.    if(ammoCheck)
  232.    {
  233.       bulletsNum += 5;
  234.       ol.bullets.gotoAndStop(11 - bulletsNum);
  235.       bg.ammo._x = -1000;
  236.       if(!mute)
  237.       {
  238.          sfxCollect.start();
  239.       }
  240.    }
  241.    boostCheck = bg.boost.hitTest(skidoo);
  242.    if(boostCheck)
  243.    {
  244.       boostCount = 100;
  245.       bg.boost._x = -1000;
  246.       if(!mute)
  247.       {
  248.          sfxCollect.start();
  249.       }
  250.    }
  251.    if(screen == 1 && !gameOver)
  252.    {
  253.       startCheck = bg.startline.hitTest(skidoo);
  254.       if(startCheck)
  255.       {
  256.          if(!timerOn && lap == 1)
  257.          {
  258.             if(!mute)
  259.             {
  260.                sfxBuzz.start();
  261.             }
  262.             ol.startTime = 0;
  263.             timerOn = true;
  264.          }
  265.          else
  266.          {
  267.             lapValid = true;
  268.             i = 1;
  269.             while(screenCount >= i)
  270.             {
  271.                if(screenVisits[i] != lap)
  272.                {
  273.                   lapValid = false;
  274.                   break;
  275.                }
  276.                i++;
  277.             }
  278.             if(lapValid)
  279.             {
  280.                if(lap == 4)
  281.                {
  282.                   if(!mute)
  283.                   {
  284.                      sfxBuzz.start();
  285.                   }
  286.                   skidoo.gameOverCount = 15;
  287.                   gameOver = true;
  288.                   timerOn = false;
  289.                }
  290.                else
  291.                {
  292.                   if(!mute)
  293.                   {
  294.                      sfxBuzz.start();
  295.                   }
  296.                   lap++;
  297.                   ol.lap = lap;
  298.                }
  299.             }
  300.          }
  301.       }
  302.    }
  303. }
  304. _quality = "BEST";
  305. fxOn = true;
  306. mute = false;
  307. mute = false;
  308. fxOn = true;
  309.