Comunidad de diseño web y desarrollo en internet online

Botonera AS

Citar            
MensajeEscrito el 11 Jun 2009 07:00 pm
Hola :(
Tengo un problema a ver si me ayudais, os explico...

Tengo este AS que son unos botones que me descargue y me gustan bastante por el tema de la elasticidad pero ahora no se como ponerles a cada uno su función.

El caso es que mediante etiquetas consigo que vayan a donde yo quiero pero todos el mismo sitio, no se como hacer q cada uno vaya a su lugar...

Me he explicado???

Lnombre = new Array ("productos", "servicios", "contactar", "situación", "otros");
Lfotogramas = new Array(10, 20, 30, 40);
posx = 200;
posy = 100;
distancia = 40;
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]) ;
//En (Lfotogramas[n]) es donde le pondo el nombre de la etiqueta y me lleva a ella pero no se donde poner los demás
};
_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];
}
}

Graciasssss bueno si alguien me contesta y si no... mmm gracias de todas maneras

Por sarart

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 12 Jun 2009 09:09 pm
Cuando vayas a postear código de ActionScript hazlo entre etiquetas de "as"

Código :

[as]
//---Tu código aquí
[/as]


Lo que te sucede es que todos los botones los estás mandando al mismo lugar ya que la variable "n" va desde 0 hasta 4 y se queda con este último valor y cuando le das click a los botones todos van a utilizar el mismo fotograma del arreglo, lo que debes hacer es guardar el número deseado dentro de los MovieClips y lo utilizas cuando lo desees:

Código ActionScript :

_root["b"+n].numero = n;

_root["b"+n].onRelease = function() {
    _root.gotoAndStop (Lfotogramas[this.numero]) ;
};

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 14 Jun 2009 01:17 pm
Hola elchininet
Oye muchas gracias por responderme pero no te he entendido...
Por ejemplo, dentro del código que te puse que es lo que debo hacer?
Y lo debo hacer una vez por botón o que?

Por sarart

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Jun 2009 11:06 pm
Posteaste esto en tu código (es el onRelease de los MovieClips)

Código ActionScript :

_root["b"+n].onRelease = function() {
    _root.gotoAndStop (Lfotogramas[n]) ;
    //En (Lfotogramas[n]) es donde le pondo el nombre de la etiqueta y me lleva a ella pero no se donde poner los demás
};


Sólo debes hacerlo como te he recomendado, guardar dentro de cada movieClip el número del ciclo y después acceder al arreglo utilizando este número.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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