actionscript 3.0 XML列表菜单进入for循环
我是actionscript新手,希望用for循环风格编写以下代码。 它是从xml文件加载的菜单actionscript 3.0 XML列表菜单进入for循环,xml,actionscript-3,Xml,Actionscript 3,我是actionscript新手,希望用for循环风格编写以下代码。 它是从xml文件加载的菜单 nav_menu.nav_1.text=gallery_xml.gallery[0].@name; nav_menu.nav_2.text=gallery_xml.gallery[1].@name; nav_menu.nav_3.text=gallery_xml.gallery[2].@name; nav_menu.nav_4.text=gallery_xml.gallery[3].@name; n
nav_menu.nav_1.text=gallery_xml.gallery[0].@name;
nav_menu.nav_2.text=gallery_xml.gallery[1].@name;
nav_menu.nav_3.text=gallery_xml.gallery[2].@name;
nav_menu.nav_4.text=gallery_xml.gallery[3].@name;
nav_menu.nav_5.text=gallery_xml.gallery[4].@name;
nav_menu.nav_6.text=gallery_xml.gallery[5].@name;
nav_menu.nav_7.text=gallery_xml.gallery[6].@name;
我试着以数组的形式写。数组的跟踪结果是正确的。但我不知道如何将数组放入动态文本框
非常感谢您的帮助。我想您正在寻找一个for循环 尝试类似的方法,假设gallery实际上是一个数组
for(var i:int = 0 ; i < gallery_xml.gallery.length ; i++){
var menuText:int = i + 1; //since it looks like your nav_ text fields are not 0 indexed
nav_menu['nav_' + menuText].text = gallery_xml.gallery[i].@name;
}
for(变量i:int=0;i
这将从库数组中的0开始,一直持续到6(数组长度)。var i将表示数组中的当前索引。i+1看起来像是对应的文本字段首先像belove一样使用XMLList类
var list:XMLList = gallery_xml.gallery;
之后,当您使其成为循环时,尝试动态地创建菜单项。你应该根据需要调整菜单的位置
var nav_menu:Sprite = new Sprite();
addChild(nav_menu);
var navItem:Array = [];
var forX:Number = 0;
for(var i:int = 0; i < list.length(); i++){
navItem[i] = new NavItem();
navItem[i].tx_txt.autoSize = TextFieldAutoSize.LEFT;
navItem[i].tx_txt.text = list[i].@name;
navItem[i].x = forX;
forX += navItem[i].width + 20; //(horizontal order with 20px space)
nav_menu.addChild(navItem[i]);
}
var nav_菜单:精灵=新精灵();
addChild(导航菜单);
var navItem:Array=[];
变量forX:Number=0;
for(变量i:int=0;i
您应该在库中有一个NavItem with tx_txt字段,或者有一个NavItem类(对于初学者来说这是一个困难的方法)
注意:我在一个网页中编写了代码,它可能有错误,但这是正确的方法。不知道为什么“gallery\u xml.gallery.length”不起作用。在我将其更改为“8”后,它确实会显示在菜单列表中,但“TypeError:Error#1010:A term未定义且没有属性。”也会出现在输出中。