Comunidad de diseño web y desarrollo en internet online

Problemas con clase Tween dentro de ROLL_OVER

Citar            
MensajeEscrito el 09 Nov 2009 07:01 pm
Hola:
Estoy intentando dejar AS2 de a poco, para quedarme en AS3. Pero recien comienzo con el cambio y me he chocado con varias cosas diferentes que tiene AS 3. Lo que intento hacer es lo siguiente: tengo un clip, dentro de este se encuentra un clio que contiene una imagen y un boton transparente. Intento hacer, mediante la clase Tween, un efecto alpha para llevarlo a 100 cuando el puntero esta sobre el boton y devolverlo a alpha=40 cuando el puntero se va del boton. El codigo lo escribi en el primer frame del clip. Dejo aqui el codigo, mil disculpas por las desprolijidades:

Código ActionScript :

import fl.transitions.Tween;
import fl.transitions.easing.*;

var mueveMC:Tween;
boton_btn.addEventListener(MouseEvent.ROLL_OVER, enciende);
function enciende(event:MouseEvent):void {
   boton_btn.addEventListener(MouseEvent.ROLL_OVER,enciende);
   boton_btn.removeEventListener(MouseEvent.ROLL_OUT,apaga);
   mueveMC=new Tween(enciende_mc,"alpha",null,enciende_mc.alpha,100,.5,true);
}

boton_btn.addEventListener(MouseEvent.ROLL_OUT, apaga);
function apaga(event:MouseEvent):void {
   boton_btn.removeEventListener(MouseEvent.ROLL_OVER,enciende);
   boton_btn.addEventListener(MouseEvent.ROLL_OUT,apaga);
   mueveMC=new Tween(enciende_mc,"alpha",null,enciende_mc.alpha,40,.5,true);
}


El resultado: cuando paso el puntero por el boton, sin animacion alguna el clip pone en aplha=100. Cuando el puntero lo quito del boton, queda en alpha 100 en vez de volver a 40 que es como esta originalmente al comienzo.
De antemano agradezco cualquier tipo de ayuda, consejo o guia. Da un poco de bronca trabarse tan rapido con algo tan sencillo, pero es el precio que debo pagar para dejar AS 2...jajaja...

Muchas gracias.

STARLANCER

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Nov 2009 07:37 pm
que onda , los valores de alpha en AS3 son de 0 a 1.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 10 Nov 2009 02:45 pm
No sabia que las propiedades de alpha en AS3 eran solo 0 y 1, crei que mantenia los valores de AS2. De todas maneras, cambie los valores y cuando quito el puntero no se pòne en 0.
Otra pregunta, ¿para valores intermedios de alpha?, ¿son entre 0 y 1?. Es decir, .3, .4 , etc?.

Muchas gracias
Saludos

STARLANCER

Por starlancer

59 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2009 03:24 pm
Si, es lo mismo que en as2 pero dividiendo entre 100.

Por lo tanto si quieres un alpha del 40%, deberás poner 0.4

Por ur!

256 de clabLevel



 

Barcelona

chrome
Citar            
MensajeEscrito el 10 Nov 2009 07:04 pm
Copio y pego tu codigo para que veas porq no funciona:

Código ActionScript :


 //Agregas un listener de rollover (al over mandas llamar enciende)
boton_btn.addEventListener(MouseEvent.ROLL_OVER, enciende); 
function enciende(event:MouseEvent):void { 
   boton_btn.addEventListener(MouseEvent.ROLL_OVER,enciende);//Una vez enciende vuelves a detectar el rollover 
   boton_btn.removeEventListener(MouseEvent.ROLL_OUT,apaga); //pero haces un remove de roll out
//Aki arriba esta el fallo nunca va detectar el rollout
   mueveMC=new Tween(enciende_mc,"alpha",null,enciende_mc.alpha,100,.5,true); 
} 
 
boton_btn.addEventListener(MouseEvent.ROLL_OUT, apaga);//aunque agregas aqui el listener de rollout una vez
//detectado el over lo remueves

//En esta funcion tmb tienes la logica mal, remueves el over una vez detectado el out..ya no va detectar el over de nuevo 
function apaga(event:MouseEvent):void { 
   boton_btn.removeEventListener(MouseEvent.ROLL_OVER,enciende); 
   boton_btn.addEventListener(MouseEvent.ROLL_OUT,apaga); 
   mueveMC=new Tween(enciende_mc,"alpha",null,enciende_mc.alpha,40,.5,true); 
}


Checa bien tus listeners ;)

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2009 05:52 pm
Ya lo he podido hacer, muchisimas gracias a todos por su respuestas y colaboracion.
De mi parte, es bastante traumatico el cambio a AS3. Posiblemente como todo cambio. Seguire paseando por los tutoriales de aqui para progresar lo mas rapido posible y abusando de su paciencia para consultarles las dudas mas insolitas, faciles y dificiles..... de todo tipo, si me lo permiten claro.

Millones de gracias nuevamente, y hasta la vuelta....

STARLANCER :wink:

Por starlancer

59 de clabLevel



 

firefox

 

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