Actionscript 3:文本文件中的每一行作为数组中的元素

时间:2017-01-25 08:26:51

标签: arrays actionscript-3 flash urlloader

所以我的问题是函数中的跟踪会跟踪数组的第一个元素,但如果函数没有跟踪则跟踪外部的跟踪。我在函数外部声明了数组变量,但数据不会保存到数组变量。

var oppgaveLoader:URLLoader = new URLLoader();

oppgaveLoader.load(new URLRequest("oppgaver.txt"));
var oppgaveNr = 0
//store line of text on an array called oppgaver
var oppgaver:Array = []
var oppg:Array = new Array()
oppgaveLoader.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(e:Event){
    oppgaver = e.target.data.split(/\n/)
    trace(oppgaver[0]) //This one traces the frist item in the array
}
trace(oppgaver[0])//This one does not trace the first one in the array

有人知道为什么和/或如何修复它,如果可行的话? 文件“oppgaver.txt”与我的.fla文件

位于同一目录中

文件“oppgaver.txt”的布局如下(文本是挪威语,但每行都是数组中的一个项目):

Hvor gjelder forbudsskilt hvis ikke annet er oppgitt?
Hvordan foretar du best mulig bremsing og unnastyring?
Hvordan bør du normalt plassere bilen på en vanlig 2-felst vei?

1 个答案:

答案 0 :(得分:1)

这是一个同步问题。

最后trace在您设置数组后立即发生,但这些数组仍为空。

仅当onLoaded函数被asynchronously调用URLLoader时,它们才会被填充,您可以跟踪它们的值。

该事件监听器基本上可以让您对将来某个时刻发生的事件作出反应。