Estoy programando un entorno a niveles con efecto produndidad. Hay algunos q son botones q se animan sobre el espacio y luego vuelven a bajar. Resulta q al bajar, (se nota más clicando los botones de la izquierda) el array al completo se va escorando a la derecha, por lo q se me va marchando fuera de campo. he variado las funciones pero solo consigo q se escore al otro lado o no se mueva.
gracias!!
Código :
class Profundidad extends MovieClip { var xProf:Number; var easy:Number; var objetos_arr:Array; public function Profundidad() { objetos_arr = []; } public function ini(_objetos_arr:Array, _xProf:Number, _yProf:Number, _easy:Number):Void { this.xProf = _xProf; //profundida en X (menor valor mayor profundidad) this.easy = _easy; //valor del efecto easy (menor valor mayor lentitud) this.objetos_arr = _objetos_arr; //Array con los nombres de los MovieClips PosActuales(); // Funcion interna q guarda las posiciones iniciales de los MC this.onEnterFrame = function() { for (var i:Number = 0; i<objetos_arr.length; i++) { var obj:Object = objetos_arr[i]; //MC a mover var mov:Number = i+1; // valor de movimiento y profundidad //movimiento en X obj.xPos = (_xmouse-(Stage.width/2))*mov/5; //destino del MC obj.xvel = easy/mov; // velocidad del easy segun la profundidad obj.xdest = obj["xPosNivIni_"+i] - obj.xPos/xProf; //destino del MC segun profundidad obj._x += (obj.xdest-obj._x)/obj.xvel; //calculo de movimiento del MC con easy } }; } private function PosActuales():Void { //recorre todos los MC y guarda las posiciones iniciales de c/us for (var i:Number = 0; i<objetos_arr.length; i++) { objetos_arr[i]["xPosNivIni_"+i] = objetos_arr[i]._x; } } //Setters y Getters public function set _xProf(num:Number):Void { this.xProf = num; } public function get _xProf():Number { return this.xProf; } public function set _easy(num:Number):Void { this.easy = num; } public function get _easy():Number { return this.easy; } }
codigo del primer frame:
Código :
stop(); var objetos_arr:Array = []; objetos_arr.push(todo_mc.nivel1); objetos_arr.push(todo_mc.nivel2); objetos_arr.push(todo_mc.nivel3); objetos_arr.push(todo_mc.nivel4); objetos_arr.push(todo_mc.nivel5); objetos_arr.push(todo_mc.nivel6); objetos_arr.push(todo_mc.nivel7); objetos_arr.push(todo_mc.nivel8); objetos_arr.push(todo_mc.nivel9); objetos_arr.push(todo_mc.nivel10); objetos_arr.push(todo_mc.nivel11); objetos_arr.push(todo_mc.nivel12); objetos_arr.push(todo_mc.nivel13); objetos_arr.push(todo_mc.nivel14); objetos_arr.push(todo_mc.nivel15); //static function ini(_objetos_arr:Array, _xProf:Number, _yProf:Number, _easy:Number) todo_mc.ini(objetos_arr,20,100,500);