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);
