Comunidad de diseño web y desarrollo en internet online

Array con Botones AS 3.0

Citar            
MensajeEscrito el 09 Ago 2010 10:29 pm
Estoy con este problema, y no se como resolverlo. Hice un ejemplo sencillo para poder llegar mas fácil a sacar la solución.

Tengo 3 botones, que mueven un circulo. Y luego tengo otro botón, que quiero que vaya ejecutando, las funciones, primero del boton1, luego del 2 y por ultimo del 3. Lo que hice fue formar una array con los tres botones, y una función que me da de a uno el botón. El problema que tengo es que me llama al botón, pero no a la función del botón. No se como decirle que ejecute la acción de cada uno de estos botones. Si alguien sabe como hacerlo, se lo agradezco.

btn1.addEventListener(MouseEvent.CLICK, circulo_x);
btn2.addEventListener(MouseEvent.CLICK, circulo_y);
btn3.addEventListener(MouseEvent.CLICK, circulo_x);

function circulo_x (e:MouseEvent):void
{
circulo.x +=5;
}
function circulo_y (e:MouseEvent):void
{
circulo.y +=5;
}

var abtn:Array = [btn1,btn2,btn3];
var cbtn:uint = 0;

sig.addEventListener(MouseEvent.CLICK, navegar);

function navegar (e:Event):void
{
abtn[cbtn];
if(cbtn == abtn.length-1){
cbtn=0;
}else{
cbtn++;
}
trace(abtn[cbtn].name); // me dice que el botón que esta siendo presionado y es el correcto
}

Por FloBe

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Ago 2010 08:14 am
Lo que estás haciendo no es llamar a los callback de los botones, sólo estás accediendo al nombre de cada botón. Para llamar a las funciones callback de cada botón tienes que llamarlas con el parámetro igual a null:

circulo_x(null);
circulo_y(null);
circulo_x(null);

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 10 Ago 2010 02:28 pm
No. Accedes a los botones. Igual ya encontré la respuesta, lo que falta es lo siguiente.

abtn[cbtn].dispatchEvent(new MouseEvent(MouseEvent.CLICK));

esto va en la función navegar. Lo pongo por si alguien necesita este código. Igual, muchas gracias Isidoro!!

Por FloBe

1 de clabLevel



 

msie7

 

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