Actionscript 3 AS3/XML-无法动态访问XML
我对AS3非常陌生,在这里似乎有些不知所措 我试图让脚本根据在前一个场景中从数组生成的菜单中选择的内容来提取不同的.xml文件。虽然我希望它更灵活,但我愿意创建一个“if”语句来选择.xml,但我无法跟踪将根据所选菜单项而改变的变量 以下是我目前正在处理的问题。这是一个灵活的版本(我还有希望)。就像我说的,我对这个很陌生,如果你需要看更多的东西来获得更好的图片,请告诉我Actionscript 3 AS3/XML-无法动态访问XML,actionscript-3,Actionscript 3,我对AS3非常陌生,在这里似乎有些不知所措 我试图让脚本根据在前一个场景中从数组生成的菜单中选择的内容来提取不同的.xml文件。虽然我希望它更灵活,但我愿意创建一个“if”语句来选择.xml,但我无法跟踪将根据所选菜单项而改变的变量 以下是我目前正在处理的问题。这是一个灵活的版本(我还有希望)。就像我说的,我对这个很陌生,如果你需要看更多的东西来获得更好的图片,请告诉我 var item_list = new Array(); var i:Number; var total:Number; v
var item_list = new Array();
var i:Number;
var total:Number;
var find_xml:XML = new XML();
// This part is what pulls from the frame that this is placed on
// The as3 script on the frame --- "page_2.load_xml("enter xml file");"
function push_array(e:Event):void{
find_xml = XML(e.target.data);
total = find_xml.item.length();
for( i = 0; i < total; i++ ){
item_list.push( { content: find_xml.item[i].content.toString() } );
}
}
function load_xml(xml_file:String):void{
var xml_loader:URLLoader = new URLLoader();
xml_loader.load( new URLRequest( xml_file ) );
xml_loader.addEventListener(Event.COMPLETE, push_array);
}
//Here is where the variable holding the .xml will go
var xml_file:String = place variable with .xml file name here;
按如下方式编辑xml文件:
<?xml version="1.0" encoding="utf-8"?>
<photos>
<config auto_play="true" auto_play_duration="5" slide_direction="left" tween_duration="0.5" tween_effect="easeInOutQuad"/>
<photo>
<filename>photos/ninki.jpg</filename>
<target>_self</target>
</photo>
<photo>
<filename>photos/richmond_station.jpg</filename>
<target>_self</target>
</photo>
</photos>
现在,你们有两个不同的阵列,一个用于光链接,另一个用于光目标
photolinks[1]和phototargets[1]属于同一个photo节点,因此此代码加载一个XML文件,并将其子项放入数组中。在我看来。你能更好地解释一下你遇到问题的部分是什么吗?你能分享一下你如何调用“function load_xml()”的代码吗?如果我直接把.xml放进去(所以它读var xml_file:String=“my_list.xml”),一切都能正常工作。我希望做的是改变填充“xml_文件”的变量。
({content:find_xml.item[I].content.toString()})代码>我对此很好奇,也许这是我不知道的,但这是什么({content:
这里的东西。你可能正在尝试这样做?项列表。推送({content:+find\u xml.item[i].content.toString()})
photos/ninki.jpg\u self photos/richmond\u station.jpg\u parent photos/quinns.jpg\u self
<?xml version="1.0" encoding="utf-8"?>
<photos>
<config auto_play="true" auto_play_duration="5" slide_direction="left" tween_duration="0.5" tween_effect="easeInOutQuad"/>
<photo>
<filename>photos/ninki.jpg</filename>
<target>_self</target>
</photo>
<photo>
<filename>photos/richmond_station.jpg</filename>
<target>_self</target>
</photo>
</photos>
var photolinks:Array = new Array();
var phototargets:Array = new Array();
function pullXMLtoArray(xml:XML):void
{
var auto_play = xml.config.@auto_play; //a sample for pulling settings
var photolist:XMLList = xml.photo;
var photo:XML;
for each (photo in photolist)
{
photolinks.push(String(photo.filename));
phototargets.push(String(photo.target));
}
}