Comunidad de diseño web y desarrollo en internet online

Regresar a pocision inicial.

Citar            
MensajeEscrito el 18 Mar 2007 05:25 am
Holap, bueno la duda que tengo es la siguiente, como se hace para regresar un objeto que muevo en escena?, al cargar la escena yo guardo las posiciones iniciales, y al presionar un boton si fueron movidas, kiero regresarlas a la pocision inicial (guardadas en un comienso)?

bueno eso jeje espero qu me puedan ayudar

muchas gracias.

Por korex

32 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Mar 2007 06:24 pm
Hola. Aca esta la respuesta.

Tendrias que hacer un array con los nombres de todos los objetos.
Cuando se entra al fotograma que se registren la posicion x e y de cada uno.
Al presionar el boton que lea el array un bucle for y que a cada objeto lo ponga en la posicion que debe ir.

Para ejemplificar supongamos que tenemos en el escenario 4 mc llamados "obj1", "obj2", "obj3" y "otro ob".
Y dos botones btn y btn_save
A estos les acemos un startdrag cuando se les hace click y cuando se los suelta un stopDrag.

En el array nombres se ponen manualmente los nombres de cada uno.
En el array obj se guardan las propiedades _x e _y.
Al presionar el boton "btn" se toman las propiedades de obj y se las copia a los objetos.
la funcion guardar_pos se encarga de guardar las propiedades en el array obj.
Al presionar el boton btn_save llama a la funcion guardar_pos.

Código :

var nombres:Array = new Array("obj1", "obj2", "obj3", "otro ob");
var objs:Array = new Array();

guardar_pos = function () {
   for (n=0; n<nombres.length; n++) {
      objs[n] = new Object();
      objs[n].x = _root[nombres[n]]._x;
      objs[n].y = _root[nombres[n]]._y;
   }
};
guardar_pos();

for (n=0; n<nombres.length; n++) {
   _root[nombres[n]].onPress = function() {
      startDrag(this, true);
   };
   _root[nombres[n]].onRelease = function() {
      stopDrag();
   };
   _root[nombres[n]].onReleaseOutside = function() {
      stopDrag();
   };
}

btn.onRelease = function() {
   for (n=0; n<_root.nombres.length; n++) {
      _root[_root.nombres[n]]._x = _root.objs[n].x;
      _root[_root.nombres[n]]._y = _root.objs[n].y;
   }
};
btn_save.onRelease = guardar_pos;


Espero que lo entiendas y que te sierva.
Saludos :) :)

Por Nandonet

82 de clabLevel



Genero:Masculino  

No me despierten, estoy ocupado

msie
Citar            
MensajeEscrito el 18 Mar 2007 07:05 pm
sip me kedo clarito ahora, bueno y lo mejor es ke resulta jaja, solo me salta una duda, el numero x e y que sale en flash, no es el mismo que cuando esta ejecutandoce???, lo digo por que en flash me dice que es x = 58 ; y = 398,2, pero si coloco que me muestre su posicion lo hago con trace(_root.boton.x) nose sie stara bien , pero me tira otro valor, me tira, x = 98 y=463

xD

Muchas Gracias por tu ayuda

Por korex

32 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.