2009-11-24 2 views
0

이것은 피곤한 오래된 질문 일 수 있지만 아직 좋은 답변을 찾을 수 없습니다. 예를 들어, 식료품 점 항목, 가격 등의 정보를 얻기 위해 xml 파일을 읽는 클래스가 있다고 가정합니다.이 클래스를 사용하면 get() 함수로 식료품 점 항목에 대한 정보를 검색 할 수도 있습니다.파일에서 읽기 (AS3) 및 반복적/동적으로 데이터에 액세스하기

var grocery:GroceryStore = new GroceryStore(); //create a class that 
               //reads in xml about 
               //grocery items 

grocery.get("lettuce");      //get some data 

이 시나리오에서는 xml 파일로로드되는 이벤트 전에 get() 함수가 호출되기 때문에 문제가 계속 발생합니다. 다시 사용할 수 있고 동적이기를 원하기 때문에 xml 파일의 onLoad 이벤트에 get()을 배치하는 것은 의미가 없습니다. 또한 AS3에는 wait() 함수가 없으므로 파일이로드 될 때까지는 실속 할 수 없습니까? 누구든지 파일을 읽고 데이터를 동적으로 반복적으로 안전하게 액세스 할 수있는 방법에 대한 아이디어가 있습니까? 다행히도이 예제와 제 질문은 철저히 설명되어 있습니다.

감사

+0

자 :

//constructor or a load method var ldr:URLLoader = new URLLoader(); ldr.addEventListener(Event.COMPLETE, onLoad); ldr.load(new URLRequest(xmlurl)); function onLoad(e:Event):void { //process xml here dispatchEvent(e); } 

지금으로 사용 GroceryStore 클래스에 다음 코드를 추가합니다. 아무도 응답하지 않는 응용 프로그램을 좋아하지 않습니다. 데이터가로드되는 동안 진행률 표시 줄/로딩 화면 표시 **는 ** 좋은 생각입니다. XML onLoad를 기다리고 자동으로 로딩 화면을 팝업하는 클래스를 작성하십시오. – leepowers

답변

1

이벤트를 사용할 수 있습니다 - complete 이벤트가 전달 수신. 로드 된 파일이 나쁜 생각까지 대기/

var grocery:GroceryStore = new GroceryStore(); 
grocery.addEventListener(Event.COMPLETE, onGroceryLoad); 
function onGroceryLoad(e:Event):void 
{ 
    grocery.get("lettuce"); 
} 
관련 문제