home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Esportes / ski-simulator.swf / scripts / frame_2 / DoAction.as
Encoding:
Text File  |  2005-09-29  |  4.2 KB  |  190 lines

  1. function onEnterFrame()
  2. {
  3.    var dmx = 5 * (_xmouse - 275);
  4.    if(g == 0)
  5.    {
  6.       dmx2 += (dmx - dmx2) * 0.3;
  7.    }
  8.    spd += ((400 - _ymouse) * 0.02 - spd) * 0.05;
  9.    if(go)
  10.    {
  11.       if(tm++ % 40 == 0)
  12.       {
  13.          var m = Math.round(tm / 40);
  14.          var s = m % 60;
  15.          time = Math.round(m / 60) + ":" + (s >= 10 ? s : "0" + s);
  16.       }
  17.    }
  18.    else
  19.    {
  20.       dx = 0;
  21.       dmx2 = 0;
  22.       if(spd > 2)
  23.       {
  24.          spd = 2;
  25.       }
  26.    }
  27.    var yy = Math.sin(w++ * 0.05) * 3;
  28.    s1._x = 255 + g;
  29.    s2._x = 295 - g;
  30.    s1._y = 410 + yy;
  31.    s2._y = 410 - yy;
  32.    s1._rotation = 0.04 * dmx2 + g;
  33.    s2._rotation = 0.04 * dmx2 - g;
  34.    mx = _xmouse;
  35.    q += spd;
  36.    zz += (Math.abs(_xmouse - lx) - zz) * 0.2;
  37.    snd.setVolume(g == 0 ? (400 - _ymouse) * 0.2 * Math.max(zz,1) * 0.02 : 0);
  38.    lx = _xmouse;
  39.    if(q > 31)
  40.    {
  41.       var diff = Math.abs(xp[pg % 15] - dx);
  42.       var type = tp[pg % 15];
  43.       if((type == 1 || type == 2) && diff < 2500 && g > -10)
  44.       {
  45.          spd = 0;
  46.          q -= 4;
  47.          if(sndr)
  48.          {
  49.             sndHurt.start();
  50.             sndr = false;
  51.          }
  52.          return undefined;
  53.       }
  54.       if(type == 5)
  55.       {
  56.          if(diff > 4000)
  57.          {
  58.             spd = 0;
  59.             q -= 32;
  60.             return undefined;
  61.          }
  62.          go = true;
  63.       }
  64.       if(type == 6)
  65.       {
  66.          if(diff > 4000)
  67.          {
  68.             spd = 0;
  69.             q -= 32;
  70.             return undefined;
  71.          }
  72.          go = false;
  73.          attachMovie("playAgain","pa",123,{_x:275,_y:200});
  74.       }
  75.       if(type == 4)
  76.       {
  77.          if(diff > 3000 && diff < 4000)
  78.          {
  79.             spd = 0;
  80.             q -= 4;
  81.             if(sndr)
  82.             {
  83.                sndHurt.start();
  84.                sndr = false;
  85.             }
  86.             return undefined;
  87.          }
  88.          if(diff <= 3000)
  89.          {
  90.             sc++;
  91.             score = sc;
  92.             sndScore.start();
  93.          }
  94.       }
  95.       sndr = true;
  96.       q -= 32;
  97.       var t = pg != 210 ? (pg % 7 != 0 ? random(3) + 1 : 4) : 6;
  98.       xp[pg % 15] = pg <= 210 ? (pg % 7 != 0 ? (t != 3 ? (random(30000) + 15000) * (pg % 2 != 0 ? -1 : 1) : random(50000) - 25000) : random(50000) - 25000) : 1000000;
  99.       tp[pg % 15] = t;
  100.       pg++;
  101.       var c = 14;
  102.       while(c >= 0)
  103.       {
  104.          var b = this["a" + c];
  105.          b.gotoAndstop(tp[(c + pg) % 15]);
  106.          c--;
  107.       }
  108.    }
  109.    xx += (_xmouse - xx) * 0.06;
  110.    dx -= dmx2;
  111.    var dy = 9500 + 1000 * Math.sin(e += (400 - _ymouse) * 0.0004) - g * 1000;
  112.    g += g2;
  113.    g2 += 0.1;
  114.    if(g > 0)
  115.    {
  116.       g = 0;
  117.       g2 = 0;
  118.    }
  119.    var w = -0.01 * dmx2;
  120.    var cs = Math.cos(w * 3.141592653589793 / 180);
  121.    var sn = Math.sin(w * 3.141592653589793 / 180);
  122.    var c = 14;
  123.    while(c >= 0)
  124.    {
  125.       var t = tp[(c + pg) % 15];
  126.       var col = Math.max((c * 32 - q) * 0.8 - 128,0);
  127.       var z = 60 + 32 * c - q;
  128.       var x = xp[(c + pg) % 15];
  129.       var s = 25000 / z;
  130.       var b = this["a" + c];
  131.       var x1 = (- x + dx) / z;
  132.       var y1 = dy / z - 280;
  133.       b._x = x1 * cs - y1 * sn + 275;
  134.       b._y = x1 * sn + y1 * cs + 380;
  135.       b._rotation = w;
  136.       b._xscale = b._yscale = s;
  137.       tf[c].setTransform({rb:col,gb:col,bb:col});
  138.       c--;
  139.    }
  140.    sky._rotation = -0.01 * dmx2;
  141.    sky._y = 390 - 2 * g;
  142. }
  143. function onMouseDown()
  144. {
  145.    if(go && g == 0)
  146.    {
  147.       g2 = -2;
  148.    }
  149. }
  150. attachMovie("skitop","s1",1000,{_x:255});
  151. attachMovie("skitop","s2",1001,{_x:295});
  152. sndHurt = new Sound(s1);
  153. sndHurt.attachSound("sndHurt");
  154. sndScore.setVolume(30);
  155. sndScore = new Sound(s2);
  156. sndScore.attachSound("sndScore");
  157. sndScore.setVolume(30);
  158. sc = 0;
  159. go = false;
  160. tm = 0;
  161. sndr = true;
  162. lx = _xmouse;
  163. _quality = "medium";
  164. xp = [];
  165. tp = [];
  166. rp = [];
  167. pg = 0;
  168. var c = 14;
  169. while(c >= 0)
  170. {
  171.    xp.push(c != 11 ? (c <= 11 ? (random(15000) + 30000) * (c % 2 != 0 ? -1 : 1) : -100000) : 0);
  172.    tp.push(c != 11 ? random(3) + 1 : 5);
  173.    rp.push(random(30) - 15);
  174.    var z = 30 + 10 * c;
  175.    var s = 5000 / z;
  176.    attachMovie("tree","a" + c,10 - c,{});
  177.    c--;
  178. }
  179. tf = [];
  180. var c = 14;
  181. while(c >= 0)
  182. {
  183.    var b = this["a" + c];
  184.    b.gotoAndStop(tp[c]);
  185.    tf[c] = new Color(b);
  186.    c--;
  187. }
  188. var q = 0;
  189. stop();
  190.