2017-01-25 16 views
2

내 문제는 배열 내의 첫 번째 요소를 추적하지만 기능이없는 경우 외부 추적을 추적한다는 것입니다. 함수 외부에 배열 변수를 선언하지만 데이터는 배열 변수에 저장되지 않습니다.Actionscript 3 : 배열의 요소로 텍스트 파일에서 각 줄

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"파일은 my .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

동시성 문제입니다.

마지막 trace은 배열을 설정 한 직후에 발생하지만 배열은 여전히 ​​비어 있습니다.

onLoaded 함수가 호출 될 때 URLLoader에 의해 asynchronously이 호출되면 해당 값이 채워지고 해당 값을 추적 할 수 있습니다.

이벤트 리스너는 기본적으로 나중에 어떤 시점에서 발생하는 이벤트에 반응하도록합니다.

+0

고마워요, 제가 그 일을 해냈습니다. –