Comunidad de diseño web y desarrollo en internet online

Reproducir un clip con un condicional

Citar            
MensajeEscrito el 20 Dic 2009 04:38 am
Hola, estoy haciendo un menu dinámico en as 3.0. Es una tontería, son 3 mc puestos el uno al lado del otro solapandose y al ponerse con el ratón encima de cualquiera de ellos este se muestra completo, y al salir el ratón se vuelven a solapar. Pongo el código para evitar malentendidos:



Código :

import com.greensock.*;
import com.greensock.easing.*;
import flash.events.MouseEvent;

gra1_mc.addEventListener(MouseEvent.ROLL_OVER, encimagra1)
gra1_mc.addEventListener(MouseEvent.ROLL_OUT, fueragra1)

function encimagra1 (event:MouseEvent):void {
   TweenLite.to (gra2_mc, 1,{x:255.3});
   TweenLite.to (gra3_mc, 1,{x:300.3});
}

function fueragra1 (event:MouseEvent):void {
   TweenLite.to (gra2_mc, 1,{x:87.3});
   TweenLite.to (gra3_mc, 1,{x:135.3});
}

gra2_mc.addEventListener(MouseEvent.ROLL_OVER, encimagra2)
gra2_mc.addEventListener(MouseEvent.ROLL_OUT, fueragra2)

function encimagra2 (event:MouseEvent):void {
   TweenLite.to (gra3_mc, 1,{x:301.3});
   gra2_mc.play();
}

function fueragra2 (event:MouseEvent):void {
   TweenLite.to (gra3_mc, 1,{x:135.3});
}


Utilizo algo de tweenLite. Tengo que quitar los ROLL_OUT's porque prefiero que se quede abierto el último mc en el que se ha estado encima, pero bueno estoy haciendo pruebas.

Total que lo que quiero es que cuando el ratón se ponga encima de cualquier mc se reproduzca ese movieclip, pero solo cuando se cambia de movieclip.
Es decir si el ratón sale del area del mc1 pero no es para ir a otro movieclip y luego vuelve a entrar en mc1 no quiero que se vuelva a reproducir.

Por thiagobcn

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Dic 2009 04:40 am
Y gracias de antemano.

Por thiagobcn

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2009 06:28 pm
debes "guardar en una variable" el último MC movido.
Voy a poner una burrada, pero la idea es que al principio tienes

Código ActionScript :

var ultimoMC:MovieClip=null;

En tus funciones tendrías algo "como"

Código ActionScript :

function encimagra1 (event:MouseEvent):void {
   if (ultimoMC!=gra1_mc){ //sólo si la variable vale algo distinto de gra1_mc
       TweenLite.to (gra2_mc, 1,{x:255.3});
       TweenLite.to (gra3_mc, 1,{x:300.3});
        ultimoMC=gra1_mc  //<--igualo la variable
    }
}

NOTA:Lamento no ser más explícito -es que veo el código un poco extraño-, quedaté con que tienes que USAR UNA VARIABLE

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2009 08:08 pm
Muchas gracias Eliseo, me vale, habia probado antes con crear una variable y cambiarla al reproducir cada función pero no conseguía que al acabar cada función se guardase el valor cambiado, lo probaré así.

Por thiagobcn

1 de clabLevel



 

firefox

 

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