Comunidad de diseño web y desarrollo en internet online

activar animacion al clickear el boton

Citar            
MensajeEscrito el 15 May 2009 10:13 pm
buenas de nuevo :)

estoy haciendo un menu con esferas que cada esfera me lleva a un fotograma diferente en la animacion, la situacion es que al igual que las esferas aparecen de pequeñas a grandes a iniciar la animacion, necesito que desaparescan de la misma forma al clickear en una de ellas.

http://www.modiss.com/ aqui hay un ejemplo en catalogo

Por Neilye

31 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 15 May 2009 10:51 pm
Puedes reproducirlas hacia atras:

Código ActionScript :

//En la funcion donde cachas el click

function Click(e:MouseEvent){
//target sera tu esfera de no serlo usa currentTarget

//detectas el enterframe para animarla hacia atras
e.target.addEventListener(Event.ENTER_FRAME,Atras);
}

function Atras(e:Event){

//validas si esta en el primer frame
if(e.target.currentFrame>1){
e.target.prevFrame();
}else{
//en caso de no estarlo detienes la animacion
e.target.removeEventListener(Event.ENTER_FRAME,Atras);
}
}


Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 May 2009 11:20 pm
genial!!! :o pero como hago para que despues de eso valla al frame seleccionado?

ejm

esferas ---> elige una que va a... perritos----> desaparece esferas----> frames sobre los perritos

Por Neilye

31 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 16 May 2009 12:25 am
A ps dentro de la funcion click gestiona todo eso, varias formas puedes usar pra saber a donde ir por ejemplo cachar el nombre
e.target.name y que con un switch sepas a donde irte:

Código ActionScript :

function Click(e:MouseEvent){ 
//target sera tu esfera de no serlo usa currentTarget 
 
//detectas el enterframe para animarla hacia atras 
e.target.addEventListener(Event.ENTER_FRAME,Atras); 

switch(e.target.name){
case "esfera1":
break;

case "esf..........
//el concepto se entiende
}
} 


Otra forma de hacerlo y que ami me gusta mas (no se porq no la puse antes) es agregar a cada objeto el frame al que ira,osea que dentro de esfera meto una variable con el frame y lo cacho al click.

Código ActionScript :

//previamente creaste lavariable frame

function Click(e:MouseEvent){ 
//target sera tu esfera de no serlo usa currentTarget 
 
//detectas el enterframe para animarla hacia atras 
e.target.addEventListener(Event.ENTER_FRAME,Atras); 

//Hacemos un poco de casting 
gotoAndStop(MovieClip(e.target).frame);
}  


Ahora que si ninguna de estas puedes tmb usar una manera que concidero mas sucia.

Ala funcion Click que antes usabamos para mandar desaparecer las esferas le haces unos cambios.

Código ActionScript :


//ahora recibe de parametro un objeto el cual va reproducir hacia atras
function Click(obj:DisplayObject){ 
obj.addEventListener(Event.ENTER_FRAME,Atras); 
} 


//Lo usarias creando para cada boton una funcion de click

function Boton1Click(e:MouseEvent){
//Llamas click para desaparecer un objeto para esto mandas el target(objeto clickeado)
//Hacemos casting de display object
Click(DisplayObject(e.target));

///funciones de boton 1
}

function Boton2Click(e:MouseEvent){
//Llamas click para desaparecer un objeto para esto mandas el target(objeto clickeado)
//Hacemos casting de display object
Click(DisplayObject(e.target));

///funciones de boton 2
}

//y eso lo puedes repetir para cada boton.....sinceramente considero sucio este metodo por 
//la cantidad de funciones un poco innecesarias,pero funciona y es lo que muchas veces importa

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox

 

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