【问题标题】:Populate an existing array from XML从 XML 填充现有数组
【发布时间】:2014-01-31 16:24:47
【问题描述】:

我到处搜索,但找不到特别适用于我的答案。 我有一个当前在脚本中手动填充的 AS3 数组,其余代码对该数组执行某些操作。如何在不影响其余代码的情况下“转换”此数组以使用 XML 填充。 代码:

var my_info_array:Array = new Array("Info-pdf.swf", "Info2-pdf.swf");
//This first line I want to populate using XML without affecting the code below
var infoURLnow:Number = 0;
var myTimer2:Timer = new Timer(5000);
myTimer2.addEventListener(TimerEvent.TIMER, timerListener);
 function timerListener (e:TimerEvent):void{    
if(infoURLnow != totalInfo) {
    loadINFO();
} 
else {
    infoURLnow = 0;
    loadINFO();
}
}
myTimer2.start();
loadINFO();
function loadINFO(){
var infoLoader:Loader = new Loader();
var infoURL:String = my_info_array[infoURLnow];
var infourl:URLRequest = new URLRequest(infoURL); 
infoLoader.load(infourl);
info_kozel.addChild(infoLoader); 
infoLoader.x = 20;                                        
infoLoader.y = 20; 
infoLoader.scaleX = infoLoader.scaleY =1.25;
infoURLnow = infoURLnow +1;
}

类似这样的:

var data:XML = new XML();

var xml_Loader:URLLoader = new URLLoader();
xml_Loader.load(new URLRequest("Info.xml"));

xml_Loader.addEventListener(Event.COMPLETE, do_XML);

那么如何将上面的代码集成到do_XML函数中呢?

【问题讨论】:

  • 谁能给我看完整的代码?我尝试从互联网上调整不同的 AS3 代码,但没有任何效果。我有一种感觉,它很简单,但我不太明白。

标签: xml arrays actionscript-3


【解决方案1】:

试试这个:

var xml:XML =
    <list>
        <link>Info-pdf.swf</link>
        <link>Info2-pdf.swf</link>
    </list>;

var my_info_array:Array=[];

xml..link.(my_info_array.push(text()));

trace(my_info_array) // Info-pdf.swf,Info2-pdf.swf

【讨论】:

  • 感谢您的快速响应,但是如果我有超过 2 个外部 swf 并且需要填充此数组而无需打开 fla 文件怎么办?
  • 我不需要先加载XML然后解析它以便将数据推送到这个数组吗?
  • @user3258032 当然,把它全部放在一个外部 XML 中,并根据需要添加链接!
  • 最终的 AS3 代码会是什么样子?上面的代码似乎没有 XML 加载器或解析器。
  • @user3258032 不影响其余代码是不可能的,因为 XML 加载是异步过程,所以理想的是将一些东西放在 XML 的“就绪”事件处理程序中
猜你喜欢
  • 2019-03-06
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
相关资源
最近更新 更多