home *** CD-ROM | disk | FTP | other *** search
- class games.MovingObjects
- {
- var objectsMC;
- var objectsArea;
- var objectsTable;
- function MovingObjects(containerMC, d, w, h)
- {
- this.objectsMC = containerMC.createEmptyMovieClip("movingobjects",d);
- this.objectsArea = {_width:w,_height:h};
- this.objectsTable = new Array();
- }
- function moveElement(obj, element, speed)
- {
- element._x = Math.ceil(element._x + speed);
- element._y += obj.gravity;
- var gb = element.getBounds(element._parent);
- if(gb.xMax < 0 || gb.yMax > this.objectsArea.height || element == undefined)
- {
- obj.MC.removeMovieClip();
- return true;
- }
- return false;
- }
- function getSceneMC()
- {
- return this.objectsMC;
- }
- function getTable()
- {
- return this.objectsTable;
- }
- function removeObjects()
- {
- var obj;
- for(var pos in this.objectsTable)
- {
- obj = this.objectsTable[pos];
- obj.MC.removeMovieClip();
- }
- this.objectsTable = new Array();
- }
- function moveObjects(moveby, _time)
- {
- var obj;
- var isout;
- var newtable = new Array();
- var l = this.objectsTable.length;
- for(var pos in this.objectsTable)
- {
- obj = this.objectsTable[pos];
- obj.MC.t = _time;
- var isout = this.moveElement(obj,obj.MC,moveby * obj.multiplier);
- if(isout == false)
- {
- newtable.push(obj);
- }
- }
- this.objectsTable = newtable.concat();
- }
- function addObject(objlibname, objtype, upper, objX, objY, speedmultiplier, gravityValue, exitFN)
- {
- var object = this.objectsTable[this.objectsTable.length] = new Object();
- var _d = this.objectsMC.getNextHighestDepth();
- var tMC = this.objectsMC.attachMovie(objlibname,"object" + _d,this.objectsMC.getNextHighestDepth());
- tMC._x = objX;
- tMC._y = objY;
- tMC.cacheAsBitmap = true;
- if(upper == true)
- {
- tMC._yscale = -100;
- }
- object.broadcastMessage = null;
- object.multiplier = - speedmultiplier;
- object.MC = tMC;
- object.type = objtype;
- return tMC;
- }
- }
-