Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/02/2006, 08:27
Avatar de luistar
luistar
 
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
una manera básica, sencilla y elengante de hacerlo:
sólo necesitas un MovieClip en la biblioteca con nombre de vinculación: boton y este código en un fotograma de _root

Código:
//lo primero armamos un array con los destinos de los botones
var destinos_array:Array = new Array('http://www.google.com/','http://es.yahoo.com/','http://www.altavista.com/','http://www.forosdelweb.com/',	'http://www.mipagina.com/','http://www.aol.com/','http://www.terra.com/','http://www.swissinfo.com/','http://www.toptoursperu.com/');
//------------------------>
//exploramos uno a uno los elementos del array
for(n in destinos_array){
	//aquí agregamos un boton por cada elemento explorado
	var boton_ref:MovieClip = this.attachMovie('boton','b'+n,this.getNextHighestDepth(),{_x:n*(45+5)+50,_y:50});
	//la acción para cada botón: prueba en vez de trace();  getURL(); (el parámetro se toma del array)
	boton_ref.onRelease = function(){ trace(destinos_array[this._name.substr(1)]); }
}
//------------------------>
stop();
Cómo posicionarlos?
Si revisamos en la ayuda, verás que el último parámetro de los métodos: attachMovie y duplicateMovieClip es: [initObject:Object]
allí le pasamos los valores iniciales para las propiedades de MC que estas duplicando o añadiendo
En el ejemplo que te puse estamos definiendo su posicion (_x _y)
{_x:n*(45+5)+50,_y:50}
para posicionarlo en x es: _x:n*(45+5)+50
donde
45 es el acho del boton
5 la separacion entre boton y boton
50 la distancia en x a partir del cual deben posicionarse
(solo un poco de mates xD)

para y es absoluto, lo posicionamos en 50: _y:50

para darle una acción diferente a cada boton:
podemos aplicarle cualquier método o función pasándole como parámetro su respectivo valor en el array principal
para ello hicimos así:

Cómo obtener el valor del botón tomándolo del array:
al agregar el boton le hemos puesto por nombre una 'b' seguida del número del elemento explorado n que es lo mismo que decir, la posición en el array... entonces lo unico que tenemos que hacer es en el array tomar el valor de la posicion indicada en a partir de la segunda lentra del nombre del botón (ops espero haberlo explicado bien xD)
osea:
numero a partir de la segunda letra del nombre: this._name.substr(1);
(recodad que el primero es 0)
para obtener el valor:
destinos_array[this._name.substr(1)]

creo que no es complicado

saludos :D
__________________
Si digo que soy mentiroso. ¿Lo soy?