Comunidad de diseño web y desarrollo en internet online

Usar bucle para definir la función de unos botones

Citar            
MensajeEscrito el 17 Jun 2010 09:42 pm
Holas!

Tengo 10 botones en el escenario, con los nombres de instancia: "boton1", "boton2", "boton3"......."boton10"

He simplificado el ejemplo: Quiero que al pulsar el "boton1", en la bandeja de salida me diga "Has pulsado el botón1", si pulso el 2 que diga "Has pulsado el botón2", etc...

He usado un bucle, pero no funciona:

Código ActionScript :

for (var i = 1; i <= 10; i++){
   var btn: String = eval("boton" + i);
   btn.onRelease = function(){
trace("Has pulsado el botón " + i);
}
} 


Como puedo hacerlo?

Gracias.

Por netkuup

31 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Jun 2010 03:27 pm
Hola pues lo que necesitas es muy facil, la mejor opcion (a mi parecer) es crear un mc duplicarlo hubicarlo en el ecenario (coordenadas x,y) y hacer una funcion para detectar el evento del raton.
Te hice este ejemplo que hace exactamente lo que quieres :
1.- crear un mc con el nombre item
2.- dentro de este mc(item) coloca un texto dinamico con el nombre de texto_txt
3.- coloca lo siguiente en el 1 frame de la pelicula
// Este es el numero de item que puese yo en mi ejemplo yo puse 4 en tu caso seria 10
var num:Number = 4;
// eta variable lo que hace es darte el espacio entre boton y boton
alto = 50;
espacio = alto + 8;
inciamos el for para controlar cuantos duplicas tendremos y asiganele el nombre
for(i = 0; i < num; i++)
{
// no voy a entrar en detalle sobre el attachMovie pero esto te crea una duplica de tu mc item
var mcs = attachMovie("item", "item" + i, i);
// aqui ponemos los nombres
mcs.texto_txt.text = ("boton"+ (i+1));
// posicionamos cada una de las copias
mcs._x = 5;
mcs._y = espacio * i + 10;
// llamamos a la funcion para saber que boton se presiono
Presionar(i);

}
// declaramos la funcion fijate que le pasamos el parametro i que vendria a ser la posicion o boton que preciono
function Presionar(i)
{
// reconocemos el evento en este caso si se preciono el boton
mcs.onPress = function()
{
// imprimer el numero de boton que presionastes
trace ("has precionado el boton : " + (i+1));
}
}
Espero que te sirva esta probado cualquier cosa posteas byee :D

Por ansisweb

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jun 2010 03:31 pm
me olvidaba para vincular el mc con el ecenario tienes que luego de haber creardo el mc item, ve a la biblioteca dale clik derecho y elegi la opcion linkage, tikea la primera opcion que dice Export for Actionscript automaticamente se tikea la tercera opcion que dice Export in first frame le das aceptar y sigues con lo que te puese antes
byee

Por ansisweb

78 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jun 2010 08:21 pm
Muchas gracias, a funciona :)

Por netkuup

31 de clabLevel



 

msie8

 

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