Comunidad de diseño web y desarrollo en internet online

Eventos sobre Clips solapados

Citar            
MensajeEscrito el 26 May 2011 10:25 am
Hola,

Me gustaría saber si es posible tenes dos clips/sprites solapados y que ambos detecte sus respectivos eventos.

Por ejemplo:

-Tengo un Sprite01 que a su vez contiene Mc's hijos (mc_hijo01....mc_hijoN etc)
-Y un Sprite02 por encima (con transparencia) que no tiene elementos secundarios anidados.

La idea es que el Sprite02 atienda al evento del mouse.MOVE. En cuanto se encuentre en unas posiciones concretas le assigne listeners para eventos de mouse.CLICK, mouse.OVER, mouse.OUT a uno de los hijos del Sprite01 y se los quite al resto....

La localización, asignación y 'conmutación' de listeners sé hacerla pero me encuentro con el problema de que aunque los mc_hijoN tengan listeners asociados al encontrarse el sprite02 por encima nunca detecta un Over/Out/etc...¿Hay alguna manera de que ambas cosas sean compatibles?

Gracias de antemano!
Un saludo.

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 May 2011 01:43 pm
A menos que deshabilites el evento del clip superior, este los captura antes que los hijos. Otra opción es que se lo asignes a un clip interior, dado que el evento sube por el DisplayList, puedes subscribirte a él desde otro MC que esté en la cadena

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 May 2011 01:44 pm
He estado mirando las propiedades 'hitArea' y los métodos hitTestObject() hitTestArea() para ver si me sirven de ayuda en la colisión de Mc's pero no acabo de verlo claro.

El problema es que tengo dos clips con transparecia (por tanto el primero deja ver parte del segundo o ubicado detrás. Tengo el evento de OVER sobre el posterior pero como tengo el primero por encima (aunque visualmente esté sobre el area del posterior) no me lo lanza. La idea es que sobre esas zonas donde el alfa del primero es 0 y veo el segundo me detecte el evento aunque se interponga el primero.

¿Alguna sugerencia?

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 May 2011 01:51 pm
Otra pregunta, ¿sería posible asignar un hitArea limitado por coordenadas, sin asignarle un Sprite o DisplayObject?

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 May 2011 01:52 pm
Claro, si agregas un listener del Mouse.CLICK al Stage, puedes verificar en que coordenadas está el Mouse al momento de hacer click

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 May 2011 02:06 pm
ya, pero creo que no es lo que busco....Ya sé como capturar las coordenadas del stage ;) o no me he explicado bien.

Tengo un clip que ocupa w=310 h=317 por ejemplo. Pero yo no quiero que toda su área sea susceptible de captar eventos. Quiero que sea más reducida (ignorando el resto) para evitar los problemas de solapamiento que comento. Sé que con la propiedad hitArea se le puede asignar otro mc para la interacción, pero sería esto posible indicándole las coordenadas locales del clip, sin asociarle un Mc?

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 May 2011 02:16 pm
No, tienes que meter otro clip y asignarlo como hitArea, creo que lo pone en la documentación. Para asignar areas, tienes que usar variantes de hitTest

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 May 2011 02:25 pm
¿me puedes dar un ejemplo por favor :) ?
Gracias!

Por emedmaria

73 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 May 2011 03:29 pm
Sería

algun_mc.hitTestPoint(mouseX,mouseY,true)

Lo cual no varía mucho de un rollOver. Crea un clip especial con area menor para esto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Jun 2011 12:40 pm
Lo que quería era evitar el uso de un segundo clip. Gracias igualmente :)

Por emedmaria

73 de clabLevel



 

chrome

 

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