![]() |
Как изменить параметр класса в обработчике событий
Здравствуйте, помогите, не могу сам разобраться, да и весь интернет облазил. Вот, например, есть такой код. Как сделать, чтобы значение переменной v , установленное в обработчике dataLoaderCompleteHandler было, например, передано в ф-цию myFunction? Сейчас trace(v) там выдает null
Код AS3:
|
Дело в том, что событие Event.COMPLETE происходит не сразу, а через некоторое время. И как только загрузка завершается вызывается функция dataLoaderCompleteHandler.
Т.е. порядок выполнения таков: Код AS3:
|
Вместо Event.COMPLETE, надо использовать Event.INIT
|
а вроде такого события Event.INIT в URLLoader-е нету.
И - да, в самом обработчике переменная живет, но при выходе из него - пропадает, хотя вроде она должна быть доступна всем внутри класса, как ее получить другой функцией этого класса (хотя мне, вообще-то нужно это значение использовать совсем другим классом, входящим в этот пакет)? |
Не внимательно прочитал. Aldvin все верно написал.
|
последовательность выполнения я понял, ну а как-же использовать значение переменной, присваиваемое именно в этом обработчике, в другом классе пакета?
Добавлено через 4 часа 58 минут Народ, неужели решения не существует?, вроде это должно быть просто: одна функция класса при выполнении (какая разница как она вызывается) изменяет параметр своего класса. Или, может, я чего-то не догоняю? Я уже 3 дня этим парюсь! Добавлено через 28 часов 58 минут Люди, а-у! Есть кто живой? |
Ответа Вы не получаете из-за плохо поставленого вопроса.
Попробуем предположить: Если доступ к переменной v нужен из любой функции этого класса, то с этим проблем быть не может. Если же Вам нужен доступ из другого класса, то опять же всё должно работать... например, в неком третьем классе создаем экземпляр первого класса(LearningR4) и экземпляр второго класса(OtherClass, из которого будем обращатся к переменной v) Код AS3:
Класс OtherClass должен иметь следующий вид: Код AS3:
|
прошу прощения за плохо поставленный вопрос. Я пытался
Добавлено через 34 минуты Спасибо Aldvin за ответ! Попробую еще уточнить: Да, мне нужен доступ к переменной v из другого класса, причем, чтобы она имела значение измененное в теле обработчика dataLoaderCompleteHandler(). А обязательно создавать некий 3-й класс? Вот я во втором классе пишу так: Код AS3:
Добавлено через 36 минут В этом и заключается проблема Добавлено через 4 часа 22 минуты Ура! Разобрался, всем огромное спасибо! |
| Часовой пояс GMT +4, время: 09:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.