2016-07-11 3 views
-1

나는 너무 혼란 스럽다. 나는 누군가가 나를 도울 수 있기를 바라고 있습니다! 함수 외부에서 "time"이라는 변수를 호출하려고합니다.함수의 외부에서 변수 호출하기

다음
var myXML:XML = new XML(); 
var XML_URL:String = "time.xml"; 
var myXMLURL:URLRequest = new URLRequest(XML_URL); 
var myLoader:URLLoader = new URLLoader(myXMLURL); 
myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 

var time; 
function xmlLoaded(event:Event):void 
{ 
    time = XML(myLoader.data); 
} 

trace(time); 

내 XML이

<time>10</time> 

내가 추적 (시간)을 실행할 때마다 모습입니다; 여기

내 코드입니다 함수 밖 - 출력 창에 "정의되지 않은"메시지가 나타납니다. 내 기능의 외부에서 변수 "시간"에 액세스 할 수있는 방법

그래서 나는이 같은 다른 변수에 할당 할 수 있습니다 :

var VIDEOS_SECONDS = time;

어떤 도움 주셔서 너무 감사합니다!

디모데 그것의 대부분은 올바른 보이는

+0

가능한 중복 http://stackoverflow.com/ : 당신은 데이터에 의존하는 코드의 나머지 부분이 먼저로드되는 설정에 그 COMPLETE 핸들러에서 다른 함수를 호출 할 수 있습니다 질문/38271403/as3-access-variable-outside-of-function) – akmozo

답변

0

는 문제는 XML 파일을 비동기 적으로로드하고 당신은 동 기적으로로드 할 전망이다.

time = XML(myLoader.data); 바로 뒤에 trace(time)을 이동하면 예상 값이 표시됩니다.

var myXML:XML = new XML(); 
var XML_URL:String = "time.xml"; 
var myXMLURL:URLRequest = new URLRequest(XML_URL); 
var myLoader:URLLoader = new URLLoader(myXMLURL); 
myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 

var time; 
function xmlLoaded(event:Event):void 
{ 
    time = XML(myLoader.data); 
    trace(time,new Date()); 
    //time is ready here 
} 
//although time is global, xml hasn't loaded at this point yet, check timestamps 
trace(time,new Date()); 
[기능의 외부 AS3 액세스 변수] (의
+0

조지. 빠른 답변 감사합니다. 나는 당신이 말하는 것을 이해하고 거의 이것을 해왔지만 어떻게 VIDEOS_SECONDS_GAP = time으로 "time"을 얻을 수 있습니까? 지금 VIDEOS_SECONDS_GAP은 "3"과 같기 때문에 대신 xml 값을 넣어야합니다. xml 파일에서만 변경할 수 있습니다. 희망이 이해가! –

+0

OK! 다른 기능을 추가했습니다! 어떻게해야합니까? - http://i.stack.imgur.com/K08GM.jpg –

+0

코드 스 니펫과 함께 별도의 질문을 텍스트로 게시 할 수 있습니까? –

관련 문제