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

Como Hacer un buen menu

Estas en el tema de Como Hacer un buen menu en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un menu con algunos botones que cuando te posicionas encima (rollOver) ejecutan una movie clip.- Ademas en el RollOut tambien llamo a otra ...
  #1 (permalink)  
Antiguo 22/12/2003, 08:00
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
Como Hacer un buen menu

Hola, tengo un menu con algunos botones que cuando te posicionas encima (rollOver) ejecutan una movie clip.-

Ademas en el RollOut tambien llamo a otra movie clip.

El problema ocurre cuando se esta ejecutando la MoviClip del RollOver y salgo sin esta haber terminado la MC del rollOut no se ejecuta.
Como puedo Solucionar este problema.

Saludos.
  #2 (permalink)  
Antiguo 22/12/2003, 13:09
 
Fecha de Ingreso: octubre-2003
Mensajes: 208
Antigüedad: 20 años, 6 meses
Puntos: 0
mira.. hacer menus es lo que mas me gusta.... podrias usar condicional if.. no se qeu hayas hecho.. me gustaria qeu me mandaras si kieres el .fla para enviartelo arreglado.. si desconfias puedes mandarme un .swf o ya de plano un .exe y yo vere cual ha sido el problema.... y ya despues hago uno y te lo regreso

sale?

mi mail es
[email protected]
__________________
Webmaster
http://www.conglomodigital.com
  #3 (permalink)  
Antiguo 22/12/2003, 14:25
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
El problema es que es muy pesado.
Mejor te explico como tengo el codigo

todos los MC los tengo en la pelicula como instancias.
En el fotograma 1 tengo un stop igual que en el 20 (final)
y en el 10 tambien

Se supone que muestran una imagen entonces cuando paro sobre el boton ejecuto del 2 hasta el 10 y cuando salgo se ejecuta del 11 al 20.

si el MC va dentro del intervalo 1-10 y salgo este termina de ejecutarse hasta el 10 pero no realiza la accion del RollOut osea del 11 al 20

te muestro el codigo y espero no haberte mareado.

Código:
on (rollOver) {
	_root.Mercados.gotoAndPlay("2");
}
on (rollOut) {
	_root.Mercados.gotoAndPlay("11");
}
Saludos
  #4 (permalink)  
Antiguo 22/12/2003, 15:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 208
Antigüedad: 20 años, 6 meses
Puntos: 0
entiendo tu codigo a la perfeccion.. mucho tiempo utilize codigos similares... pero ahorita te puedo recomendar que uses otro codigo... es similar pero creo que funciona mejor... de todos modos deberias hacer un ejemplo simple y pequeño para que me lo mandes.. en fin.. bueno...

primer apunte... el mc que quieres que se active debe estar dentro del mc PRINCIPAL... es decir... la animacion que aparecera debe de estar dentro de un mc Principal que llamaremos MC1... en total 2 mc... uno dentro del otro.. al mc secundario llamaremos MC2... en ese mc pon lo que quieras como me dijiste de los 20 frames y todo eso...

y al MC1.. o mc principal.. le pones este action como si fuera un boton:

Código:
onClipEvent (enterFrame) { 
if(this.hitTest(_root._xmouse,_root._ymouse,true))
_root.MC2.gotoAndPlay(2);  
else 
_root.MC2.gotoAndPlay(11);
trata de hacerlo y dime si te salio
__________________
Webmaster
http://www.conglomodigital.com
  #5 (permalink)  
Antiguo 22/12/2003, 18:23
Avatar de el_leon  
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 182
Antigüedad: 20 años, 4 meses
Puntos: 0
hola Phobos

te cuento que hice algo muy simple en base a lo que tú cuentas, y a mí sí me funciona. Intenta por favor revisar que no te olvides de nada.

lo que yo hice fue hacer un MC muy simple: un rectángulo que sale de la pantalla y vuelve a entrar. Sale del frame 2 al 10 y entra del 11 al 20. El fotograma 1, es igual al 2 y al 20. El fotograma 10 es igual al 11. Todos ellos son fotogramas clave. Y en el 1, 10 y 20 hay sendos Stop();

Le puse de nombre de instancia "Mercado" para poder copiar tu código.

Luego en el escenario dibujé un círculo, lo convertí a botón y le copié tu código.

Y voilá... funciona.

El único problema (a mi entender) que tienen este tipo de acciones, es que si salgo del botón durante el tramo 2-10, la animación se corta y pasa al 11-20 (que justamente es lo que tú pareces desear). Por ende, si el rectángulo de mi ejemplo está a mitad de camino saliendo de la pantalla, por qué desear que aparezca entrando desde afuera? (al cortar la animación, vuelve desde un lugar al que todavía no ha llegado)

Si lo que deseas es una animación que vaya hacia adelante y hacia atrás (en el espacio, en el _alpha, en lo que tu quieras), pues haces un MC que tenga la animación en una sola dirección (en tu caso te quedarías con los frames 2 a 10, con un stop en el primero) y luego le pones un condicional en el onClipEvent(enterFrame) que determine si alcanzó el tope de inicio o fin, para que mientras tanto vaya al cuadro actual + una variable. Luego le dices al botón que setee esta variable en +1 o -1 y listo.

Aquí el código:

MovieClip:
Código:
onClipEvent (enterFrame) {
	if ((this._currentframe >= 1 && _root.variar > 0) || (this._currentframe <= this._totalframes && _root.variar < 0)) {
	this.gotoAndStop(this._currentframe+_root.variar);
	}
}

Botón:
Código:
on (rollOver) {
_root.variar=1;
}
on (rollOut) {
_root.variar=-1;
}
Nota: a la variable la coloco en el _root para que no tengas que preocuparte por la ruta de los botones ni de los clips. Ponlos donde tu quieras, dentro del contenedor que quieras, y siempre funcionarán. Es más, ni siquiera necesitas nombre de instancia para el clip.

Con este script puedes lograr que un gráfico disminuya su alpha y luego lo recupere desde el nivel exacto en que se encuentra, que un objeto se agrande o achique simulando un zoom, y lo que se te ocurra.

Un último dato: si bien este script es efectivo, el evento onClipEvent(enterFrame) consume más recursos que otras soluciones.

saludos

el_leon
[email protected]
__________________________
la web la hacemos entre todos
__________________
el_leon
[email protected]
____________________________
la web la hacemos entre todos
  #6 (permalink)  
Antiguo 22/12/2003, 18:49
 
Fecha de Ingreso: octubre-2003
Mensajes: 208
Antigüedad: 20 años, 6 meses
Puntos: 0
teneis razon el_leon.... lo de los nomnbres de instancias en los frames es algo basico para los menus mas comunes... solo depende de que tipo de animacion sea porque el unico defecto es que se corta.. pero teneis mucha razon en eso
__________________
Webmaster
http://www.conglomodigital.com
  #7 (permalink)  
Antiguo 23/12/2003, 07:34
Avatar de Phobos  
Fecha de Ingreso: abril-2001
Ubicación: sentado frente a un pc prestado
Mensajes: 375
Antigüedad: 23 años
Puntos: 2
el_leon y cachoron4444

funciono perfecto. Ese era el efecto que queria lograr.
Ahora me tomare mi tiempo para entender el codigo.

, millon de gracias.
Feliz Navidad.


saludos.

Última edición por Phobos; 23/12/2003 a las 08:01
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 18:12.