Comunidad de diseño web y desarrollo en internet online

Crear enlaces en el código de un Menú Elástico

Citar            
MensajeEscrito el 04 Nov 2009 09:17 pm
:) Hola a todos,

Tengo el código de un Menú Elástico (no lo cree yo) que funciona perfectamente, sin embargo, al ser un menú cada botón debería ser un enlace a otra escena o un html. Sinceramente, no tengo el conocimiento suficiente para modificarlo y hacer que funcione. Presumo que tiene que ver con los arrays o el for. Agradecería mucho si alguien puede darme indicaciones, hacerlo en forma de tutorial o como prefiera considerando que casi no tengo conocimientos de AS2.
Gracias,

El código

Lnombre = new Array("Home", "La Asociación", "Patrocinadores", "Premiaciones Anteriores", "Galería de Fotos", "Difusión en Medios", "Ganadores 2008", "Contáctenos");
Lfotogramas = new Array(10, 20, 30, 40);
posx = 870;
posy = 80;
distancia = 30;
prepara();
function prepara() {
vel = new Array();
long = Lnombre.length;
for (n=0; n<Lnombre.length; n++) {
vel[n] = 0;
_root.attachMovie("boton", "b"+n, n);
_root["b"+n].titulo = Lnombre[n];
_root["b"+n]._x = posx;
_root["b"+n]._y = posy+(n*distancia);
_root["b"+n].onRelease = function() {
_root.gotoAndStop(Lfotogramas[n]);
};
_root["b"+n].onRollOver = function() {
sel = this;
};
_root["b"+n].onRollOut = function() {
sel = 0;
};
}
sel = 0;
idmove = setInterval(mover, 20);
}
// Movimiento
function mover() {
for (n=0; n<Lnombre.length; n++) {
if (sel == _root["b"+n]) {
dest = 30;
destino =150;
} else {
dest = 1;
destino =100;
}
if (_root["b"+n]._currentframe<dest) {
_root["b"+n].gotoAndStop(_root["b"+n]._currentframe+1);
}
if (_root["b"+n]._currentframe>dest) {
_root["b"+n].gotoAndStop(_root["b"+n]._currentframe-1);
}

dif = destino-_root["b"+n]._xscale;
elast = 0.03;
fric = 0.9;
// trace(vel[n]);
vel[n] = (vel[n]*fric)+((dif)*elast);
_root["b"+n]._xscale += vel[n];
_root["b"+n]._yscale += vel[n];
}
}

Por armanda

1 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 05 Nov 2009 01:03 am
No es lo mio el AS2 pero intentare ayudarte.

Tu menu crea los botones dinamicamente, para esto recibe un arreglo con los titulos de cada boton

Código ActionScript :

Lnombre = new Array("Home", "La Asociación", "Patrocinadores", "Premiaciones Anteriores", "Galería de Fotos", "Difusión en Medios", "Ganadores 2008", "Contáctenos");


En base a esta lista de nombres los crea en tu funcion prepara:

Código ActionScript :

unction prepara() {
vel = new Array();
long = Lnombre.length;
for (n=0; n<Lnombre.length; n++) {
vel[n] = 0;
_root.attachMovie("boton", "b"+n, n); //En esta linea crea el boton y le asigna de nombre "b"+n de modo que sean b0,b1,etc
_root["b"+n].titulo = Lnombre[n];
_root["b"+n]._x = posx;
_root["b"+n]._y = posy+(n*distancia);
_root["b"+n].onRelease = function() {//Aki detecta un click del mouse
_root.gotoAndStop(Lfotogramas[n]);
};


Al click del mouse manda la pelicula a un determinado frame(dependiendo el frame especificado en Lfotogramas)

Asi que solo necesitas cambiar esos frames(no uses escenas siempre fallan), solo debes de tener una cantidad igual de botones y de frames especificados, tomemos como ejemplo tu codigo:

Código ActionScript :

Lnombre = new Array("Home", "La Asociación", "Patrocinadores", "Premiaciones Anteriores", "Galería de Fotos", "Difusión en Medios", "Ganadores 2008", "Contáctenos");
Lfotogramas = new Array(10, 20, 30, 40);

/*
El boton "Home" manda al frame 10, "La Asociacion" al frame 20...."Premiaciones Anteriores" al 40...Para el resto de los botones 
hace falta asignar un frame de destinoo en su defecto quitar dichos botones del arreglo.
*/


Espero con eso mas o menos puedas solucionar tu problema ;)

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox

 

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