Comunidad de diseño web y desarrollo en internet online

Como mover dos clips de capas diferentes con startDrag

Citar            
MensajeEscrito el 08 Jul 2008 01:42 am
Hola a todos:
Estuve haciendo una lupa y no encontre la forma de que esa mascara tuviera una forma visible, solo se muestra el lente, como en todos los tutoriales que busque. Como alternativa cree dos lupas, una la puse en la mascara y otra en la capa con mascara que esta debajo, e hice que las dos tuvieran el mismo tamaño y la misma posicion, ¡Todo muy bien !, pero no puedo mover con startDrag las dos al mismo tiempo y se pierde el encanto de poner la lupa donde yo quiera al mover el raton.
Probé con ponerle a la lupa de la mascara un codigo que me pusiera la otra lupa en la misma pos (_x, _y ) al empezar el arrastre, pero no lo hace en tiempo real.
¿Como puedo resolver mi problema? :(
Si no me explique en mi problema diganmelo por favor, es mi primer tema en el foro.

Por zjesus0

14 de clabLevel



Genero:Masculino  

La Habana Cuba

msie
Citar            
MensajeEscrito el 08 Jul 2008 03:39 am
Hola.

No estoy muy enterado de como estas trabajando el AS pero asi rapido se me ocurre que hacer que un clip siga al otro con un enterFrame seria algo así.

Dentro del un clip:
onClipEvent(enterFrame){
this._x = otroClip._x;
this._y = otroClip._y;
}

Haber si te sirve Saludos.

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

firefox
Citar            
MensajeEscrito el 08 Jul 2008 02:59 pm
Hola,

Primero hay que garantizar que el puntero (interno) de los movieclips que vas a mover empiezan en coordenadas x= 0, y =0.
Y también que tengan las mismas dimensiones. (Para que parezca un sólo objeto)

Luego, lo único es:

Código :

lupa1.onPress = function()
{
  lupa1.startDrag();
 this.onEnterFrame = function()
 {
    lupa2._x = lupa1._x;//También funciona con _root._xmouse
    lupa2._y = lupa1._y;
 }
}

y cuando liberamos:

lupa1.onRelease = function(){
   this.stopDrag();
   delete this.onEnterFrame;
}

lupa1.onReleaseOutside = function(){
   this.stopDrag();
   delete this.onEnterFrame;
}


Importante: Poner los nombres de instancia a los movieclips. lupa1 y lupa2.

Ok suerte.

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2008 03:07 pm
¡¡Gracias GersonM_17 !!
Funcionó perfectamente
Hasta la proxima

Por zjesus0

14 de clabLevel



Genero:Masculino  

La Habana Cuba

msie
Citar            
MensajeEscrito el 08 Jul 2008 03:19 pm
Muchas Gracias Miliciano por tu código, he visto varias veces la sentencia delete, ¿lo que hace es quitar el controlador de eventos creados por el programador ?

Por zjesus0

14 de clabLevel



Genero:Masculino  

La Habana Cuba

msie
Citar            
MensajeEscrito el 08 Jul 2008 03:37 pm
Hola,


delete lo que hace es que elimina la función para que no se ejecute más.

cuando decimos:

Código :

this.onEnterFrame = function()...


Estamos asignando una función nueva al evento onEnterFrame, se puede decir que estamos creando el evento.

Luego al decir:

Código :

delete this.onEnterFrame;


Estamos eliminando el evento. Se utiliza también si queremos cambiar el comportamiento del evento por medio de otra función así:

Código :

this.onEnterFrame; = otraFuncion;


Ok, suerte

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2008 03:38 pm
En el anterior post se me fue un punto y coma de más.

Quedaría así:

Código :

this.onEnterFrame = otraFuncion;


pd: Como se edita un post?

Por miliciano

50 de clabLevel



Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2008 07:14 pm
:roll: no se puede eidtar Post solo en algunas categorias, pero en esta no.

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

firefox
Citar            
MensajeEscrito el 10 Jul 2008 01:08 am
Me queda claro, Gracias otra vez

Por zjesus0

14 de clabLevel



Genero:Masculino  

La Habana Cuba

msie

 

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