Я пытаюсь получить значение из функции, которая является COMPLETE-событием URLLoader, но даже с объявлением переменных вне функции не позволит мне получить значение. Я застрял.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 Ввод функции blah() {вокруг кода генерирует ошибки в строках кода, которые я не имею) (http://stackoverflow.com/questions/9464866/as3-putting-function-blah-around-code-generates -errors-on-lines-of-code-i-don) – shanethehat
Вы должны удалить этот вопрос и прочитать ответ в последнем. –