Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   данные из функции AS3 (http://www.flasher.ru/forum/showthread.php?t=211769)

exsites 04.11.2015 03:21

данные из функции AS3
 
Доброй ночи. потихому изучаю AS3 вот получилось что получилось..

Код AS3:

var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("myxml.xml"));
loader.addEventListener(Event.COMPLETE,onComplete);
 
function onComplete(event:Event) {
        var img:Array = [event.target.data];
 
        //trace(img)
 
        //return img;
}

как получить массив img вне функции?
Спасибо.

ALeXVoz 04.11.2015 10:54

Хендлеры всегда должны быть void
В onComplete вызвать другую функцию и передать как параметр.

Код AS3:

var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("myxml.xml"));
loader.addEventListener(Event.COMPLETE,onComplete);
 
function onComplete(event:Event):void {
        var img:Array = [event.target.data];
        someFun(img)
}
 
function someFun(arr:Array):void {
        //do something
}


Zebestov 04.11.2015 14:10

Или объявить var img:Array вне метода (в данном случае обработчика события).

Код AS3:

var img:Array;
 
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("myxml.xml"));
loader.addEventListener(Event.COMPLETE, onComplete);
 
function onComplete(event:Event):void {
        img = [event.target.data];
        test();
}
 
function test():void {
        trace(img);
}


caseyryan 04.11.2015 19:26

Цитата:

Хендлеры всегда должны быть void
Совсем не обязательно. Просто в общем случае из них нет смысла что-либо возвращать

ALeXVoz 04.11.2015 19:40

Цитата:

Сообщение от Zebestov (Сообщение 1188624)
Или объявить var img:Array вне метода (в данном случае обработчика события).

Глобальные переменные - не лучший метод. По возможности нужно избегать.

Zebestov 04.11.2015 19:42

О чем ты говоришь :) парень код в кадре пишет! В противном случае разумеется переменная img была бы полем класса.

exsites 05.11.2015 04:58

Спасибо, разобрался.
Да, про поле класса я знаю, не судьба пока мне писать в отдельных файлах.

caseyryan 05.11.2015 07:21

Цитата:

Да, про поле класса я знаю, не судьба пока мне писать в отдельных файлах.
Надо сразу привыкать к написанию кода в классах. Установить какую-нибудь нормальную IDE, типа FlashDevelop или Flash Builder (FlashDevelop бесплтаная и очень крутая, так что я руками и ногами за нее :D)

exsites 05.11.2015 08:11

Я Flex попробовал, вроде бы написать что-то можно, но я хоть ты апстену не понимаю как там рисовать на swf какие-нибудь картинки поля или еще что-то... Во флеше можно и нарисовать и написать..

caseyryan 05.11.2015 09:56

Цитата:

Сообщение от exsites (Сообщение 1188643)
Я Flex попробовал, вроде бы написать что-то можно, но я хоть ты апстену не понимаю как там рисовать на swf какие-нибудь картинки поля или еще что-то... Во флеше можно и нарисовать и написать..

эти понятия нужно разделять


Часовой пояс GMT +4, время: 06:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.