Comunidad de diseño web y desarrollo en internet online

Aperecer y desaparecer Movie

Citar            
MensajeEscrito el 10 Feb 2009 07:54 am
Hola amigos, un saludo y gracias por cualquier ayuda. Voy al grano.

Talvez el código parezca primitivo e incluso exista una mejor manera de hacer lo que quiero lograr, cualquier ayuda se agradece infinito.

Quiero que un botón en su estado MOUSE_ON manipule un Tween que aparezca una Movie y luego en el estado MOUSE_OUT del Botón me desaparezca lentamente la Movie con un Tween Alpha.

El código que me funcionó lo monté algo asi:

//aparece la Movie
var myDireccionOn:Tween = new Tween(direccion_mc, "alpha", Strong.easeOut, 0, 1, 2, true);
myDireccionOn.stop();
direccion_mc.visible=false;

//Desaparece la movie

var myDireccionOff:Tween = new Tween(direccion_mc, "alpha", Strong.easeOut, 1, 0, 2, true);
myDireccionOff.stop();
direccion_mc.visible=false;

//El boton aparece la Movie

direccion_btn.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverTop1);
function onMouseOverTop1(e:MouseEvent){
myDireccionOn.start();
direccion_mc.visible=true;
}

//El botob desaparece la movie.

direccion_btn.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutTop1);
function onMouseOutTop1(e:MouseEvent){
myDireccionOff.start();

}


Como lo podrán notar funciona bien, pero cuando quito el mouse rápido y lo vuelvo a poner sobre el botón POR LÓGICA la animación va en medio camino desapareciendo, entonces comienza a hacer mucho desastre.

Mi pregunta es: ¿Hay alguna forma de empezar el Tween de salida desde el FRAME (Por decirlo asi) 1.?

Espero haber explicado bien mi caso. Gracias de nuevo por cualquier ayuda, o incluso la información para lograr este efecto de alguna otra manera más funcional.

Por djburner

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Feb 2009 10:47 am
Si el mouseOver pasa el alpha a 1 y el mouseOut a 0.1, antes de iniciar cada Tween pon explícitamente el alpha en el valor de salida. Luego si lo pasa muy rápido es posible que se salte algún evento, en el caso del mouseOut, puedes usar un Timer para que si el mouse no está encima, dejar el alpha en 0.1

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Feb 2009 09:09 pm
Jorge MUCHAS gracias por tu ayuda, solo una cosa, yo aun ando en escarpines con el AS3, sería mucha molestia si podes agregarle ese par de lineas (No se como introducir un Timer :oops: ) al script que tengo.

En serio disculpa el abuso, pero solo asi puedo seguir traveseando en este increible entorno del AS3.

Gracias mil.

Por djburner

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Feb 2009 11:24 pm
Algo así:

Código ActionScript :

var out:Timer = new Timer(500)
out.addEventListener(TimerEvent.TIMER, out)
function out(evt:TimerEvent):void{
  myDireccionOff.start();
}
//Se dispara en el mouseOver
function onMouseOverTop1(e:MouseEvent){
    myDireccionOn.start();
    direccion_mc.visible=true;
    out.start()
}


Casi bien ... pero espera, en la función out hay que chequear que el Mouse no haga un hitTest con el botón, sino se disparará el rollout aunque todavía estes dentro ... investiga el hitTest .... o también debo escribirlo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Feb 2009 03:35 am
No hermano, mas bien muchisimas gracias por toda tu ayuda. Investigaré el tema a fondo :lol: . De nuevo, gracias.

Por djburner

19 de clabLevel



 

firefox

 

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