Comunidad de diseño web y desarrollo en internet online

Botones encima de una máscara no funcionan

Citar            
MensajeEscrito el 04 Ene 2010 09:23 am
Hola :)

Tengo un movieclip con nombre de instancia "asa" al que le he asignado acciones de drag and drop para que pueda arrastrase en un línea vertical, este movieclip de instancia "asa" funciona como una máscara que devela varios botones a medida que se arrastra, el problema es, que como la máscara (movieclip "asa") tiene acciones asignadas, los botones que enmascara no funcionan, no funciona el Over de los mismos, mucho menos se les puede presionar.

Obviamente intenté poner unos botones "invisibles" (es decir, sólo el área de hit) en una capa superior a la de la capa de la máscara, para que los botones "enmascarados" sean "falsos" y los botones con acciones asignadas se encuentren en una capa encima de la máscara, pero igual no funciona, a pesar de que estos nuevos botones no están "enmascarados" sino que están en una capa superior, no funcionan, tal parece que las acciones de drag and drop del movieclip interrumpen cualquier acción asignada a estos botones.

Estas son las acciones de la máscara:

Código ActionScript :

function arrastra() {
   startDrag ("asa", false, 382, -82, 382, 468);
}
function arrastrapara() {
   this.stopDrag ();
}
asa.onPress = arrastra;
asa.onRelease = asa.onReleaseOutside = arrastrapara;


Los botones tienen acciones simples de gotoAndPlay y ese tipo que no vale la pena postear, lo importante es: ¿Qué puedo hacer para que los botones funcionen a pesar de la máscara?

Gracias.

Por rq!

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2010 09:28 am
Pues no entiendo bien lo que te esta sucediendo. El código que posteas tiene solo el código de un drag ... ¿Eso te funciona?

Si eso es así, no veo ningun código que haga nada más, ergo no veo el conflicto.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 05 Ene 2010 02:36 am
Hola Hernán.

Ese código que posteé funciona, el problema es, que debajo de esa máscara con el código que posteé, hay botones que no funcionan, porque el código de la máscara anula las acciones asignadas a los mismos.

Sin embargo, ya resolví el problema, lo que hice fue lo siguiente:

En la línea de tiempo principal, donde está el movieclip con nombre de instancia "asa" coloqué un segundo movieclip con nombre de instancia "pega", este movieclip está ubicado en el límite de la línea vertical que recorre "asa", y sirve para mantenerla en ese lugar, es decir, que no pueda seguir arrastrándose.

Luego, entré en el movieclip "asa" y a ese shape lo convertí en otro movieclip y le di nombre de instancia "asadentro" (es decir, ahora "asa" tiene un movieclip anidado). Estando aún dentro del movieclip "asa", coloqué estas acciones en el 1er fotograma de la línea de tiempo:

Código ActionScript :

stop();

asadentro.onPress = function() {
   startDrag ("_root.asa", true, 382, -82, 382, 468);
}
asadentro.onRelease = asadentro.onReleaseOutside = function() {
   this.stopDrag ();
   if (_root.asa.hitTest(_root.pega)) {
      _root.asa._x=_root.pega._x;
      _root.asa._y=_root.pega._y;
      delete asadentro.onPress;
      gotoAndPlay (2);
   } 
}


Mientras que en el segundo fotograma, coloqué estas acciones:

Código ActionScript :

stop();
delete asadentro.onPress;
delete asadentro.onRelease;
delete asadentro.onReleaseOutside;


De esta manera, se puede arrastrar el movieclip "asa" develando los botones, pero sólo cuando se llega al límite del arrastre los botones se muestran activos, puesto que "asa" pasa a su 2do fotograma donde las acciones de drag and drop son anuladas.

Espero que se entienda cúal era mi problema y cúal fue mi solución en caso de que otra persona pase por algo similar, muchas gracias igual por la ayuda que trataste de prestar :)

Por rq!

14 de clabLevel



 

firefox

 

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