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

  1. class games.MovingObjects
  2. {
  3.    var objectsMC;
  4.    var objectsArea;
  5.    var objectsTable;
  6.    function MovingObjects(containerMC, d, w, h)
  7.    {
  8.       this.objectsMC = containerMC.createEmptyMovieClip("movingobjects",d);
  9.       this.objectsArea = {_width:w,_height:h};
  10.       this.objectsTable = new Array();
  11.    }
  12.    function moveElement(obj, element, speed)
  13.    {
  14.       element._x = Math.ceil(element._x + speed);
  15.       element._y += obj.gravity;
  16.       var gb = element.getBounds(element._parent);
  17.       if(gb.xMax < 0 || gb.yMax > this.objectsArea.height || element == undefined)
  18.       {
  19.          obj.MC.removeMovieClip();
  20.          return true;
  21.       }
  22.       return false;
  23.    }
  24.    function getSceneMC()
  25.    {
  26.       return this.objectsMC;
  27.    }
  28.    function getTable()
  29.    {
  30.       return this.objectsTable;
  31.    }
  32.    function removeObjects()
  33.    {
  34.       var obj;
  35.       for(var pos in this.objectsTable)
  36.       {
  37.          obj = this.objectsTable[pos];
  38.          obj.MC.removeMovieClip();
  39.       }
  40.       this.objectsTable = new Array();
  41.    }
  42.    function moveObjects(moveby, _time)
  43.    {
  44.       var obj;
  45.       var isout;
  46.       var newtable = new Array();
  47.       var l = this.objectsTable.length;
  48.       for(var pos in this.objectsTable)
  49.       {
  50.          obj = this.objectsTable[pos];
  51.          obj.MC.t = _time;
  52.          var isout = this.moveElement(obj,obj.MC,moveby * obj.multiplier);
  53.          if(isout == false)
  54.          {
  55.             newtable.push(obj);
  56.          }
  57.       }
  58.       this.objectsTable = newtable.concat();
  59.    }
  60.    function addObject(objlibname, objtype, upper, objX, objY, speedmultiplier, gravityValue, exitFN)
  61.    {
  62.       var object = this.objectsTable[this.objectsTable.length] = new Object();
  63.       var _d = this.objectsMC.getNextHighestDepth();
  64.       var tMC = this.objectsMC.attachMovie(objlibname,"object" + _d,this.objectsMC.getNextHighestDepth());
  65.       tMC._x = objX;
  66.       tMC._y = objY;
  67.       tMC.cacheAsBitmap = true;
  68.       if(upper == true)
  69.       {
  70.          tMC._yscale = -100;
  71.       }
  72.       object.broadcastMessage = null;
  73.       object.multiplier = - speedmultiplier;
  74.       object.MC = tMC;
  75.       object.type = objtype;
  76.       return tMC;
  77.    }
  78. }
  79.