home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / VenusMission.swf / scripts / __Packages / games / MovingSceneElement.as < prev    next >
Encoding:
Text File  |  2008-09-23  |  2.6 KB  |  88 lines

  1. class games.MovingSceneElement
  2. {
  3.    var wMin;
  4.    var wMax;
  5.    var hMin;
  6.    var hMax;
  7.    var wall1;
  8.    var slope1;
  9.    var wall2;
  10.    var slope2;
  11.    var wall1_lastHeight = 0;
  12.    var wall2_lastHeight = 0;
  13.    var doWall1 = null;
  14.    var doWall2 = null;
  15.    function MovingSceneElement(w0, w1, h0, h1, el0, sl0, el1, sl1)
  16.    {
  17.       this.wMin = w0;
  18.       this.wMax = w1;
  19.       this.hMin = h0;
  20.       this.hMax = h1;
  21.       this.wall1 = el0;
  22.       this.slope1 = sl0;
  23.       this.wall2 = el1;
  24.       this.slope2 = sl1;
  25.       this.doWall1 = this.createWall1;
  26.       if(this.wall2 == undefined)
  27.       {
  28.          this.doWall2 = null;
  29.       }
  30.       else
  31.       {
  32.          this.doWall2 = this.createWall2;
  33.       }
  34.    }
  35.    function createWall(_MC, _w, el_width, el_newheight, _lastHeight, wall, slope)
  36.    {
  37.       var tMC1;
  38.       var tMC2;
  39.       var _depth = _MC.getNextHighestDepth();
  40.       tMC1 = _MC.attachMovie(wall,"w" + _depth,_depth,{_x:_w,_width:el_width});
  41.       if(_lastHeight <= el_newheight)
  42.       {
  43.          tMC1._height = _lastHeight;
  44.       }
  45.       else
  46.       {
  47.          tMC1._height = el_newheight;
  48.       }
  49.       if(_lastHeight != el_newheight)
  50.       {
  51.          _depth++;
  52.          tMC2 = _MC.attachMovie(slope,"s" + _depth,_depth,{_x:_w,_y:tMC1._height,_width:el_width});
  53.          if(_lastHeight < el_newheight)
  54.          {
  55.             tMC2._height = el_newheight - _lastHeight;
  56.             tMC2._x += tMC2._width;
  57.             tMC2._xscale = - tMC2._xscale;
  58.          }
  59.          tMC2._height = _lastHeight - el_newheight;
  60.       }
  61.       return [el_newheight,tMC1,tMC2];
  62.    }
  63.    function createWall1(_MC, _w, el_width, use_random, use_minimum)
  64.    {
  65.       var h_delta = this.hMax - this.hMin;
  66.       var _h = this.hMin + random(h_delta);
  67.       var output = this.createWall(_MC,_w,el_width,_h,this.wall1_lastHeight,this.wall1,this.slope1);
  68.       this.wall1_lastHeight = output[0];
  69.       return {tMC1:output[1],tMC2:output[2]};
  70.    }
  71.    function createWall2(_MC, _w, el_width)
  72.    {
  73.       var h_delta = this.wall1_lastHeight - this.hMin;
  74.       var _h = this.hMin + random(h_delta);
  75.       var output = this.createWall(_MC,_w,el_width,_h,this.wall2_lastHeight,this.wall2,this.slope2);
  76.       this.wall2_lastHeight = output[0];
  77.       return {tMC1:output[1],tMC2:output[2]};
  78.    }
  79.    function createElement(_MC)
  80.    {
  81.       var _w = _MC._width;
  82.       var el_width = this.wMin + random(this.wMax - this.wMin);
  83.       var wall1 = this.doWall1(_MC,_w,el_width);
  84.       var wall2 = this.doWall2(_MC,_w,el_width);
  85.       return {width:el_width,height:this.wall1_lastHeight};
  86.    }
  87. }
  88.