Estoy en un proyecto y se basa en profundidad. He logrado hacer ya bastante, solo que hay un obstaculo que me detiene totalmente, y realmente me desespera. Estoy usando este codigo para la profundidad:
Código :
stop()
// Coordenadas de Origen
orig_x = this._x;
orig_y = this._y;
// Profundidad Asignada
profundidad = 220;
// Ajustamos su posición Z en la escena
this.swapDepths(profundidad);
onEnterFrame = function () {
// Obtenemos la coordenada X de destino
dest_x = (((210-_root._xmouse)/210)*profundidad)+orig_x;
// Obtenemos el incremento de movimiento en X
incr_x = (dest_x-this._x)/10;
// Ajustamos la posición en X
this._x += incr_x;
// Obtenemos la coordenada Y de destino
dest_y = (((190-_root._ymouse)/190)*profundidad)+orig_y;
// Obtenemos el incremento de movimiento en Y
incr_y = (dest_y-this._y)/10;
// Ajustamos la posición en X
this._y += incr_y;
};Eso es para asignarle la profundidad al objeto, luego, debajo de esa linea de codigo, en el mismo frame coloco este codigo que sirve para redimensionar el objeto:
Código :
MovieClip.prototype.redimensionar = function(x, y, ancho, alto, aceleracion) {
this.onEnterFrame = function() {
this._x += (x-this._x)/aceleracion;
this._y += (y-this._y)/aceleracion;
this._width += (ancho-this._width)/aceleracion;
this._height += (alto-this._height)/aceleracion;
if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 && Math.abs(ancho-this._width)<0.5 && Math.abs(alto-this._height)<0.5) {
this._x = x;
this._y = y;
this._width = ancho;
this._height = alto;
delete this.onEnterFrame;
}
};
};
winmenu.redimensionar(-647,-53,2000,423,9);Hasta ahi todo bien, realiza el redimensionamiento y crea la profundidad y tambien el easing. Lo que hago despues es crear un fotograma clave con el mismo objeto y con las mismas acciones (es decir un 2º fotograma con similares acciones y objeto) solo que esta ves le cambio la ultima linea de codigo a la ultima accion (es decir la del redimensionamiento) que hacen que cresca y salga del escenario, el codigo es, o seria:
Código :
MovieClip.prototype.redimensionar = function(x, y, ancho, alto, aceleracion) {
this.onEnterFrame = function() {
this._x += (x-this._x)/aceleracion;
this._y += (y-this._y)/aceleracion;
this._width += (ancho-this._width)/aceleracion;
this._height += (alto-this._height)/aceleracion;
if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 && Math.abs(ancho-this._width)<0.5 && Math.abs(alto-this._height)<0.5) {
this._x = x;
this._y = y;
this._width = ancho;
this._height = alto;
delete this.onEnterFrame;
}
};
};
winmenu.redimensionar(-777.2,922,4049,858,9);
Creo un tercer fotograma clave, igual que el primero, un clon del primer fotograma.
E ahi el problemon. No entiendo porque al llamar al tercer fotograma, pareciese que las coordenadas se sumasen y ponen al objeto en una posicion distinta a la original. He intentado ordenandole que no vaya al tercero si no al primero (pues entiendo que pueda redundar por tratarse de que el primero y el tercero son acciones identicas) pero no resulta. He intentado reducirle las coordenadas, pero no pasa nada, siempre cuando doy mas redimensionamientos y posiciones el objeto va adquiriendo, al parecer, una nueva coordenada.
Espero me puedan ayudar con ese codigo. La verdad es que ya estoy en recta final con este proyecto y desearia saber si es que hay una solucion practica y sencilla.
Saludos foreros[/code]
No escribas en mayúsculas e intenta poner algo más apropiado sobre tu problema, recibirás más ayuda - eldervaz
