Comunidad de diseño web y desarrollo en internet online

Detectar evento de un MovieClip dentro de un MovieClip

Citar            
MensajeEscrito el 16 Ene 2007 07:41 pm
Hola.

Estoy intentando capturar los eventos onRollOver de un movieclip y el de otro que esta embebido dentro del primero. A continuación relato detalladamente el ejemplo que no consigo hacer funcionar:

1. Tengo dos MovieClips diferentes en mi biblioteca (boton1, que es un rectangulo grande rojo y boton2, que es un rectangulo pequeño azul).
2. Creo una instancia del boton1 -> "mc1". Y dentro de "mc1" creo una instancia del boton2 -> "mc2"
3. En la linea principal pongo el siguiente actionscript que no funciona como me gustaria:

Código :

stop();
mc1.onRollOver = over;
function over()
{
   trace("mc1");
   this.mc2.onRollOver = over2;
}
function over2()
{
   trace("mc2");
}


¿Es posible capturar los dos eventos? Por el momento solo consigo ver el trace de "mc1" al pasar el raton sobre "mc1", pero con "mc2" nada de nada.

Realmente lo que intento hacer es más complicado que todo esto, pero como no paso de aqui pues ya expondre más adelante alguna dudilla metiendome con clases, generando los movieclips dinamicamente... y tal.

Un saludo y gracias.

Por Maikel82

8 de clabLevel



Genero:Masculino  

Spain

firefox
Citar            
MensajeEscrito el 16 Ene 2007 09:35 pm

Código :

stop();
mc1.onRollOver = over;
mc2.onRollOver = over2;
function over()
{
   trace("mc1");
}
function over2()
{
   trace("mc2");
}

Huh??

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 16 Ene 2007 10:11 pm
Lo siento, igual no me he explicado bien. Una vez tengo creados los dos MovieClips, abro la instancia "mc1" del MovieClip "boton1" de mi biblioteca y meto ahi la instancia "mc2" del movieClip "boton2". No es que sean dos objetos sueltos, sino que uno esta embebido dentro del otro.

Por eso la solucion que me has dado no funciona. Gracias de todas formas. Espero haberme explicado mejor esta vez...

Un saludo.

Por Maikel82

8 de clabLevel



Genero:Masculino  

Spain

firefox
Citar            
MensajeEscrito el 17 Ene 2007 03:22 pm
He encontrado una semi-solución :cool: a mi pregunta y la dejo aqui por si le interesa a alguien. Para detectar si estoy sobre "mc2" no lo hago a traves de su evento onRollOver (ya que no soy capaz de detectarlo :crap: , si alguien sabe hacerlo de esa manera que me avise) sino con la posicion del raton:

Código :

var dentromc2:Boolean = false;

stop();
mc1.onRollOver = over;

function over()
{
   trace("mc1");
   onMouseMove = function()
   {
      if((_root.mc1.mc2._xmouse>0)&&(_root.mc1.mc2._xmouse<_root.mc1.mc2._width)&&(_root.mc1.mc2._ymouse>0)&&(_root.mc1.mc2._ymouse<_root.mc1.mc2._height))
      {
         //Si no estaba anteriormente sobre mc2 avisar.
         if(dentromc2 == false)
            over2();
      }
      else
         dentromc2 = false; //Ya no esta sobre mc2.
   }
}

function over2()
{
   dentromc2=true; //Esta dentro de mc2, asi que no avisar más hasta que salga.
   trace("mc2");
}

Espero que alguien sepa responder si es imposible capturar el evento onRollOver de un MovieClip que esta dentro de otro MovieClip.

Un saludo.

Por Maikel82

8 de clabLevel



Genero:Masculino  

Spain

firefox

 

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