Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
actionscript 3.0 XML列表菜单进入for循环_Xml_Actionscript 3 - Fatal编程技术网

actionscript 3.0 XML列表菜单进入for循环

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

我是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;
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未定义且没有属性。”也会出现在输出中。