私はURLLoader COMPLETEイベントである関数から値を取得しようとしていますが、関数外の変数を宣言しても値を取得できません。私は立ち往生している。AS3グローバル変数をどのように宣言しますか?
Flashの非同期性により、値を取得することが不可能になっているようです。これは動作します:
// Initialise a URLLoader to get XML data from XML file
var myFPBLoader:URLLoader = new URLLoader();
myFPBLoader.load(new URLRequest("flightPlannerBoard.xml"));
// Check XML data fully loaded
myFPBLoader.addEventListener(Event.COMPLETE, processFPBxml);
var myXML:XML = new XML();// Declared **outside** function
function processFPBxml(e:Event):void {
this.myXML = XML(e.target.data);
trace("yep" + myXML); // This works
myTraceXML();
}
function myTraceXML(){
trace("more tests:" + myXML); // **This trace works**
}
trace("more tests:" + myXML); // This **doesn't** work
いつでもどこでも使用できる値を取得しますか?
これは以前の質問ではうまくいかない理由について説明しましたが、同じトピックについて新しい質問を作成しないでください。 – shanethehat
[AS3 Putting function blah(){コードの周りにエラーが発生するコードは、私は持っていません](http://stackoverflow.com/questions/9464866/as3-putting-function-blah-around-code-generates -errors-on-lines-of-code-i-don) – shanethehat
この質問を削除し、最後の回答を読んでください。 –