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