이벤트 핸들러 함수 중에 값을 my xml 객체 (xml = new XML (e.currentTarget.data);)로 설정합니다 (이 함수는 실행됩니다. 이벤트 후. COMPLETE) 내 이벤트 함수 핸들러 내에서 객체를 추적하면 내 xml 데이터가 표시됩니다.Actionscript 3 - 이벤트를 제거한 후 이벤트의 값을 유지하는 방법
그러나 이벤트 처리기 함수 외부에서 추적하려고하면 내 xml 내용이 표시되지 않습니다. 내 XML 객체의 내용 값을 다른 함수에 표시 할 수는 있지만 이벤트 처리기 함수에는 표시하지 않는 방법이 있습니까?
private var xml:XML;
public function XMLLoader(xmlURL:String)
{
var xmlURLRequest:URLRequest = new URLRequest(xmlURL);
var xmlURLLoader:URLLoader = new URLLoader(xmlURLRequest);
xmlURLLoader.addEventListener(Event.COMPLETE, xmlData);
}
private function xmlData(e:Event):void
{
e.currentTarget.removeEventListener(Event.COMPLETE, xmlData);
xml = new XML(e.currentTarget.data);
dispatchEvent(new Event(Event.COMPLETE));
trace(xml);
}
public function getXMLData():void
{
//I've find out that this shows null because this function is faster
//what do i do? put an event.complete in every following function?
trace(xml);
}
감사합니다.
private var xml : XML; \t \t 공공 기능 XMLLoader (xmlURL : 문자열) { \t \t \t var에 xmlURLRequest \t : 된 URLRequest \t = 새로운 된 URLRequest (xmlURL); \t \t \t var xmlURLLoader \t : URLLoader \t = 새 URLLoader (xmlURLRequest); \t \t \t \t \t \t xmlURLLoader.addEventListener (해서 Event.COMPLETE, XMLDATA); \t \t \t \t} \t \t 전용 기능 XMLDATA (예 : 이벤트) : 무효 { \t \t \t e.currentTarget.removeEventListener (해서 Event.COMPLETE, XMLDATA); \t \t \t \t \t \t XML = 새 XML (e.currentTarget.data); \t \t \t \t \t \t dispatchEvent (new Event (Event.COMPLETE)); \t \t \t trace (xml); \t \t \t \t} \t \t 공개 getXMLData 함수() {공극 \t \t \t 트레이스 (XML); \t \t – bunnyannihilator89
XMLLoader를 설치하고 getXMLData() 메소드를 호출하면 코드를 게시 할 수 있습니까? –
공용 클래스 XMLLoader는하는 EventDispatcher {\t \t 개인 var에 XML을 확장 : XML을; \t 공공 기능 XMLLoader (xmlURL : 문자열) { \t var에 xmlURLRequest : 된 URLRequest = 새하는 URLRequest (xmlURL); \t \t var에 xmlURLLoader :은 URLLoader = 새로운은 URLLoader (xmlURLRequest); \t xmlURLLoader.addEventListener (Event.COMPLETE, xmlData); \t \t \t \t} 전용 기능 XMLDATA (예 : 이벤트) : 무효 { \t \t e.currentTarget.removeEventListener (해서 Event.COMPLETE, XMLDATA); \t \t xml = new XML (e.currentTarget.data); \t \t dispatchEvent (새 이벤트 (Event.COMPLETE))); \t \t 추적 (XML); //이 하나가 \t \t} \t \t 공공 기능 getXMLData()를 보여줍니다 : XML { \t \t \t 추적 (XML); //이 것은 표시되지 않습니다 \t \t} \t} – bunnyannihilator89