![]() |
addEventListener - вызывает функцию, как вернуть ее результат
Добрый день, только разбираюсь с AS3. Возможно вопрос мой туп, я наверное, даже посмеюсь над ним через пару недель, однако имею проблему. Я загружаю внещний ХМЛ, потом myLoader.addEventListener("complete", xmlLoaded); вызывает функцию хмлЛоадид, в ней я разбираю ХМЛ в массив, но вот как его вернуть в программу, для дальнейшей работы?
В функции я вроде предусмотрел возврат, но как присвоить результат ее выполнения новой переменной(массиву), а главное где это сделать, я не могу понять. Всем заранее спасибо. Код AS3:
|
И куда у тебя должен попасть массив?
Хендлер события, это не функция, а метод - вернуть какое-то значение он конечно может, но в пустоту. Можно только вызвать другую функцию, паредав значение, или же записать твой массив во внешнюю переменную, например: Код AS3:
|
Идею понля, спасибо , но проверив, ошибка вылезает 1114: The public attribute can only be used inside a package.
|
Это потому, что ты в кадре код пишешь, а не в отдельном файле, как положено. Просто слово public убери тогда.
|
Пока что-то пусто(((
Код AS1/AS2:
|
Подписав слушателя методом addEventListener мы не вызываем метод xmlLoaded моментально - вызов произойдет через некоторое время после загрузки xml. А вот trace выполнится сразу.
Код AS3:
|
Огромное спасибо! Теперь понял как работает addEventListener.
|
Можно сразу внутри функции передавать в массив который был определён внешне, зачем левый массив? сборщик муссора его скорее всего уберёт, но какой смысл лишний действий?
|
Сборщик мусора его не уберет до тех пор, пока ссылка на него из переменной videoArray не будет убрана - это один массив, присвоение не плодит массивы. Конечно можно сразу писать во внешнюю переменную. Спросили как передать значение - так, мне кажется, нагляднее. А если эта внешняя переменная находится вне класса или же содержится как переменная какого либо подкласса, то еще и полезно.
|
| Часовой пояс GMT +4, время: 10:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.