2009-05-19 60 views
0

我试图访问我的菜单中的按钮。我只想将侦听器添加到正在加载的XML文件中的项目。ActionScript 3动态调用按钮

事情是,我不知道如何调用我命名为“Var1_btn”,当我有一个字符串“Var1”的按钮。

有谁知道如何从for循环调用按钮吗?

for each(var chapter in presentation_xml.*) 
{ 
    chapter + "_btn".addEventListener(MouseEvent.MOUSE_DOWN, traceit); 
} 

就是我想出了...

回答

1

假设您加载XML到一个名为presentationXML变量,它是这样的:

for each(var chapter in presentationXML.*) 
{ 
    this[chapter + "_btn"].addEventListener(MouseEvent.MOUSE_DOWN, traceit); 
} 
+0

非常感谢!那样做了! – kentos 2009-05-19 20:40:23

0

的DisplayObjectContainer :: getChildByName()

1

您可以使用:

for each(var chapter in presentation_xml.*) 
{ 
    this[chapter + "_btn"].addEventListener(MouseEvent.MOUSE_DOWN, traceit); 
} 

但你也可以使用getChildByName,像这样:

for each(var chapter in presentation_xml.*) 
{ 
    var myBtn:MovieClip = getChildByName(chapter + "_btn"); 
    myBtn.addEventListener(MouseEvent.MOUSE_DOWN, traceit); 
} 

这里是when to use getChildByName好的帖子。

0

更好地使用chapter.toString()。

效果相同,但其他编码器会读取它并理解,当与字符串文字连接时,该章节将从XML转换为其字符串表示形式。