1)我试图将34个按钮添加到数组(或向量,我读起来会更有效)。每个按钮称为button1,button2 .... button34。这是我尝试解决的方法,但是似乎无法使用以下方法。我收到一个错误消息,说按钮的名称不明。有谁知道为什么,或者更容易解决我的问题?
var vector: Vector. < MovieClip > = new Vector. < MovieClip > ();
var i = 1;
while (i <= 34) {
vector.push(button[i]); //This part does not work
i++;
}
2)其次,我试图为所有按钮制作一个EventHandler。制作34个事件处理程序(和函数)确实令人沮丧。有没有什么简单的方法可以识别按下了哪个按钮,所以我可以对分别按下的按钮(在EventHandler内部)进行相同的更改?当您按下不同的按钮时,应该发生相同的事情,但是只对哪个按钮进行了更改。被按下。
1)访问button [i]的意思是:button是一个集合,我访问'i'元素。如果按钮的名称为“ button1”,则必须使用getChildByName进行获取。
var vector: Vector. < MovieClip > = new Vector. < MovieClip > ();
var i = 1;
while (i <= 34)
{
vector.push( getChildByName( "button" + i) ); //This part does not work
i++;
}
2)您可以在eventHandler上使用,并且可以在其中通过currentTarget属性访问发送者。例如,您可以在上述的while循环中附加事件侦听器,并在此处理程序中找到带有事件的名称,即(我假设按钮是SimpleButton实例)var vector: Vector. < MovieClip > = new Vector. < MovieClip > (); var i = 1; while (i <= 34) { var btn: SimpleButton = SimpleButton( getChildByName( "button" + i) ): btn.addEventListener( MouseEvent.CLICK, eventHandler ); vector.push( btn ); //This part does not work i++; }
function eventHandler ( evnt: Event )
{
String callerName = evnt.currentTarget.name;
evnt.currentTarget.visible = false; // will hide the clicked button
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句