Comunidad de diseño web y desarrollo en internet online

Dudas sobre onClipEvent

Citar            
MensajeEscrito el 11 Sep 2007 11:21 am
Hola Clabers!
Estoy intentando hacer un menu que sigue al mouse, este es un MC que al ser pulsado se despliega (para mostrar los botones) y para de ser arrastrado, hasta ahi todo bien.
Mis dudas comienzan al pulsar cualquier boton del menu, este realiza todas las acciones oportunas, pero el MC ha de seguir al mouse otra vez y no se como conseguirlo.
Os dejo el codigo y una explicacion:

En el MC:

Código :

onClipEvent (load) {
   _root.menu_mc.startDrag(true);
}
on (release) {
   _root.menu_mc.stopDrag();
   _root.menu_mc.gotoAndPlay(2);
}


En el boton (dentro del MC)
:

Código :

on (release) {
   _root.menu_mc.gotoAndPlay(3);
        _root.menu_mc.starDrag(true);
}


Bien, pues el codigo del boton funciona el gotoAndPlay, pero el starDrag no por?

Otra cuestion seria que el MC no fuera visible al pasar por encima de los contenidos de la web, alguien me puede orientar sobre como conseguirlo?

Saludos y gracias de antemano!

Por Fusel

Claber

339 de clabLevel



Genero:Masculino  

Madrid (España)

mozilla
Citar            
MensajeEscrito el 11 Sep 2007 11:40 am
Para empezar, cuando pulsas el botón que está dentro del mc se cumplen las acciones de ese botón, es decir:

Código :

on (release) {
   _root.menu_mc.gotoAndPlay(3);
    _root.menu_mc.starDrag(true);
}


Y después las del MovieClip, o sea:

Código :

on (release) {
   _root.menu_mc.stopDrag();
   _root.menu_mc.gotoAndPlay(2);
}


Es decir, que cuando haces release al botón se activará startDrag pero inmediatamente despues stopDrag, ya que lo tienes puesto en las acciones del movieclip también. Esto lo puedes solucionar, en vez de meter el botón dentro del movieclip, meter los dos (el botón y el movieclip) en un movieclip contenedor y entonces darles las acciones por separado.


Otra cosa. Lo de que se ponga invisible al pasar por los contenidos pues es sencillo, rollOver y _visible, busca en la ayuda de flash o en el buscador de este foro.


Saludos

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 11 Sep 2007 05:33 pm
Mil gracias! Ahora funciona de maravilla!! :lol: :lol:

Estoy mirando lo de _visible, pero me resulta un poco lioso, de momento tengo esto pero no funciona:

Código :

onClipEvent (load) {
   _root.brocha.startDrag(true);
}
onClipEvent (enterFrame) {
if(this.brocha.hitTest(this._parent.vacio)){
   _root.brocha._visible= false;
}
else
   _root.brocha._visible = true;
}


Creo que hitTest controla cuando chocan dos MCs, pero no se si sera lo mas apropiado para lo que intento hacer.
Voy bien o no tiene sentido lo que intento?

Por Fusel

Claber

339 de clabLevel



Genero:Masculino  

Madrid (España)

mozilla
Citar            
MensajeEscrito el 11 Sep 2007 07:29 pm
Bueno, hitTest es una forma.

Ese código no te funciona por las llaves, algunas ni las abres y otras no las cierras:

Código :

onClipEvent (load) {
   _root.brocha.startDrag(true);
}
onClipEvent (enterFrame) {
   if (this.brocha.hitTest(this._parent.vacio)) {
      _root.brocha._visible = false;
   } else {
      _root.brocha._visible = true;
   }
}

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 11 Sep 2007 09:03 pm
:oops: la verdad es que estoy muuuuy verde en AS, lo poco que se lo he aprendido en esta web y con algun tuto que he encontrado porahi...

Entiendo que la idea no va mal desencaminada?¿ pero me he perdido con lo de las llaves, me podrias orientar un poquito cuales son las que omito y las que no cierro?
Muchas gracias por tu ayuda, la verdad es que me ha sido super util :wink:

Por Fusel

Claber

339 de clabLevel



Genero:Masculino  

Madrid (España)

msie7
Citar            
MensajeEscrito el 12 Sep 2007 05:50 pm
En el else tienes que abrirla y después cerrarla

PD: Mira tu código y después el mío y compara las que has olvidado

Por infernalpr

236 de clabLevel



 

LoL

firefox

 

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