Foros del Web » Creando para Internet » Flash y Actionscript »

Menu, HELP !

Estas en el tema de Menu, HELP ! en el foro de Flash y Actionscript en Foros del Web. como va gentes, antes que nada agradecer la posibilidad de una comunidad asi. Tengo una consulta ya que me quede sin opciones. Tengo un menu ...
  #1 (permalink)  
Antiguo 22/01/2010, 10:53
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Menu, HELP !

como va gentes, antes que nada agradecer la posibilidad de una comunidad asi.
Tengo una consulta ya que me quede sin opciones.

Tengo un menu que estoy haciendo y no logro resolver LA FORMA MAS SIMPLE DE HACERLO.

Tengo 5 botones que a su ves cada uno tiene una animacion (MC) en el roll over. La animacion seria que al colocar el puntero sobre el btn, este reproduzca su propia animacion y a su vez los 4 btns restantes se coloquen por debajo de este mismo. Les dejo el swf para que entiendan.

Ahora me queda la duda de como resolver en el "timeline" el segundo btn. El 1ero lo resuelvo diciendole por medio de un comportamiento sobre este, que vaya a determinado frame, entonces anime los 4 restantes para que se coloquen por debajo (siempre hablando de la escena principal del archivo) .
Ahora para resolver el segundo tengo que hacerlo en una proxima escena? asi decirle que "on rollover" vaya a la otra escena o noc, me quede sin opciones, lo que hice fue hacer la misma animacion mas adelante, supongamos en el frame 50 y que los 4 btns restantes en ves de ir debajo del 1ero, van debajo del segundo. Pero me parece que estoy complicando las cosas, o desde el 1er momento empece mal planificando la estructura.

les dejo el swf y si quieren tambien pueden descargar el .fla en el mismo lugar.

http://www.middlesea.com.ar/menu/menu.html

Les agradeceria toda la info. Gracias.
Saludos.
  #2 (permalink)  
Antiguo 22/01/2010, 11:23
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Menu, HELP !

Hola abux:
Tendrás que hacer la animación de cada botón dentro de un MC.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 22/01/2010, 12:18
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Menu, HELP !

creo entenderte, pero si podes darme una mano mas especifica, te lo voy a agradecer.
  #4 (permalink)  
Antiguo 24/01/2010, 11:55
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Menu, HELP !

Esta buena la idea, pero haciendo a mano con interpolaciones la animación de cada botón te vas a volver loco (y solo hay 5 botones). La opción es la Clase tween, que te permite hacer esas animaciones con una línea de código. Para eso tendrían que ser 5 clips en vez de botones (btn1,btn2,btn3,btn4,btn5) y con este código en el primer fotograma queda así http://ezequielm.comuv.com/animacion_tween.html. Se puede refinar más, pero espero te sirva para empezar

import mx.transitions.Tween;
import mx.transitions.easing.*;

pos1=btn1._x
pos2=btn2._x
pos3=btn3._x
pos4=btn4._x
pos5=btn5._x
actual=143

btn1.onRollOver=function()
{
this.swapDepths(_root.getNextHighestDepth());
actual=btn1._x;
entrar();
}
btn1.onRollOut=function()
{
salir();
}

btn2.onRollOver=function()
{
this.swapDepths(_root.getNextHighestDepth());
actual=btn2._x;
entrar();
}
btn2.onRollOut=function()
{
salir();
}

btn3.onRollOver=function()
{
this.swapDepths(_root.getNextHighestDepth());
actual=btn3._x;
entrar();
}
btn3.onRollOut=function()
{
salir();
}
btn4.onRollOver=function()
{
this.swapDepths(_root.getNextHighestDepth());
actual=btn4._x;
entrar();
}
btn4.onRollOut=function()
{
salir();
}

btn5.onRollOver=function()
{
this.swapDepths(_root.getNextHighestDepth());
actual=btn5._x;
entrar();
}
btn5.onRollOut=function()
{
salir();
}

function entrar()
{
var tween_handler:Object = new Tween(btn1, "_x", Strong.easeOut, pos1, actual, 1, true);
var tween_handler:Object = new Tween(btn2, "_x", Strong.easeOut, pos2, actual, 1, true);
var tween_handler:Object = new Tween(btn3, "_x", Strong.easeOut, pos3, actual, 1, true);
var tween_handler:Object = new Tween(btn4, "_x", Strong.easeOut, pos4, actual, 1, true);
var tween_handler:Object = new Tween(btn5, "_x", Strong.easeOut, pos5, actual, 1, true);
}

function salir()
{
var tween_handler:Object = new Tween(btn1, "_x", Strong.easeOut, actual, pos1, 1, true);
var tween_handler:Object = new Tween(btn2, "_x", Strong.easeOut, actual, pos2, 1, true);
var tween_handler:Object = new Tween(btn3, "_x", Strong.easeOut, actual, pos3, 1, true);
var tween_handler:Object = new Tween(btn4, "_x", Strong.easeOut, actual, pos4, 1, true);
var tween_handler:Object = new Tween(btn5, "_x", Strong.easeOut, actual, pos5, 1, true);
}
  #5 (permalink)  
Antiguo 24/01/2010, 18:36
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Menu, HELP !

puf te agradezco muchisimo. Esta es la clara evidencia entre saber y no saber.

Ahora si te fijas en una y otra, en la original los btns que se esconden, van de manera individual en cuanto a su velocidad, y en el ejemplo que vos hiciste, es como que van todos iguales en formacion. Creo que esto le hace perder la manera "organica" que tienen de esconderce, que era el fin del menu. Creo que por esto tambien me complique la vida.
Me imagino que esto se modificaria agregando algo en esta linea no?

var tween_handler:Object = new Tween(btn1, "_x", Strong.easeOut, pos1, actual, 1, true);


Se puede correjir esto?

Te repito, estoy muy agradecido con el trabajo que te tomaste.
Saludos y gracias.
  #6 (permalink)  
Antiguo 25/01/2010, 14:06
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Menu, HELP !

A eso me refería conque tenias para empezar y que había que refinarlo. Estoy de acuerdo con vos, queda muchisimo mejor el efecto donde van entrando de a una y no todas juntas.

var tween_handler:Object = new Tween(btn1, "_x", Strong.easeOut, pos1, actual, 1, true);

Esta línea lo que hace es la interpolacion del objeto btn1, modificando la propiedad "_x", utilizando el modo Strong (hay varios, podes verlos en la ayuda de flash), llevando el "_x" desde "pos1" a "actual" y el 1 es la duración...

Podés usar la siguiente propiedad para realizar otra animación recien cuando termine la anterior:

tween_handler.onMotionFinished = function()
{
//ACA LO QUE QUIERAS QUE HAGA CUANDO TERMINE LA INTERPOLACIÓN. EN TU
CASO ANIMAR LA SIGUIENTE ESFERA.
};

Espero te sirva... Saludos
  #7 (permalink)  
Antiguo 25/01/2010, 15:35
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Menu, HELP !

Te agarezco mucho por lo que hiciste.

Sabes que lo pruebo pero no queda. Hay algo mal en mi forma de hacerlo.

"Para eso tendrían que ser 5 clips en vez de botones (btn1,btn2,btn3,btn4,btn5) y con este código en el primer fotograma "

Esa parte no me queda claro, los botones los hago adentro de cada MC, o solo son MC.

Muchas gracias.
  #8 (permalink)  
Antiguo 25/01/2010, 18:19
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Menu, HELP !

Para mi, lo mas practico es que sean solo Movie clips, haces que el fotog 1 sea el botón como esta ahora en estado de reposo y le pones un stop(), a partir del fotograma 2 pones toda la animación que ahora tenes en el estado sobre (con otro stop() cuando termina). y al rollOver le agregas un this.play() para que ademas de hacerse la función con el tween que esconde los otros detrás, se reproduzca la animación de las esferitas y el nombre del boton. Y desp al rollOut() le pones un gotoAndSTop(1) para que vuelva al estado "normal". Quedaria algo asi

btn1.onRollOver=function()
{
this.play();
this.swapDepths(_root.getNextHighestDepth());
actual=btn1._x;
entrar();
}
btn1.onRollOut=function()
{
this.gotoAndStop(1)
salir();
}
  #9 (permalink)  
Antiguo 27/01/2010, 13:24
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Menu, HELP !

Cita:
Iniciado por EzequielM Ver Mensaje
Para mi, lo mas practico es que sean solo Movie clips, haces que el fotog 1 sea el botón como esta ahora en estado de reposo y le pones un stop(), a partir del fotograma 2 pones toda la animación que ahora tenes en el estado sobre (con otro stop() cuando termina). y al rollOver le agregas un this.play() para que ademas de hacerse la función con el tween que esconde los otros detrás, se reproduzca la animación de las esferitas y el nombre del boton. Y desp al rollOut() le pones un gotoAndSTop(1) para que vuelva al estado "normal". Quedaria algo asi

btn1.onRollOver=function()
{
this.play();
this.swapDepths(_root.getNextHighestDepth());
actual=btn1._x;
entrar();
}
btn1.onRollOut=function()
{
this.gotoAndStop(1)
salir();
}

Ezequiel, no hay caso. Noc si estoy haciendo algo mal o que. lo empece de nuevo, lo hice como explicas arriba para que quede todo limpio, pero no lo logro. Ahora ya ni se mueve nada.

es un bajon, pero me quede sin opciones, si podes ver el fla te lo voy a agradecer.
te dejo mi correo: [email protected]

saludos y muchas gracias.
  #10 (permalink)  
Antiguo 27/01/2010, 16:53
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Menu, HELP !

Ahi te pase por mail el fla. Los átomos están corridos porque copie los fotogramas del tuyo y los pegue como venían. Mirale y cualquier consulta cualquier cosa...
  #11 (permalink)  
Antiguo 28/01/2010, 21:25
 
Fecha de Ingreso: enero-2010
Mensajes: 12
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Menu, HELP !

Cita:
Iniciado por EzequielM Ver Mensaje
Ahi te pase por mail el fla. Los átomos están corridos porque copie los fotogramas del tuyo y los pegue como venían. Mirale y cualquier consulta cualquier cosa...
Ahi te respondi por mail.
Muchas Gracias.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.