我试图访问菜单中的按钮。我只想添加侦听器来加载XML文件中的项目。
问题是,当我有一个字符串“Var1”时,我不知道如何调用一个名为“Var1_btn”的按钮。
有谁知道如何从for循环调用按钮?
for each(var chapter in presentation_xml.*)
{
chapter + "_btn".addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}
是我想出来的......
答案 0 :(得分:1)
假设您将xml加载到名为presentationXML的变量中,它就像这样:
for each(var chapter in presentationXML.*)
{
this[chapter + "_btn"].addEventListener(MouseEvent.MOUSE_DOWN, traceit);
}
答案 1 :(得分: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上的一篇好文章。
答案 2 :(得分:0)
的DisplayObjectContainer :: getChildByName()
答案 3 :(得分:0)
最好使用chapter.toString()。
同样的效果,但其他编码器会阅读它并明白,当与字符串文字连接时,该章节正在从XML转换为字符串表示。