Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.12.2009, 18:40
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 1  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
Question Получение значения из addEventListener

К примеру надо передать переменную strIn и получить strOut.

Код AS3:
myLoader.addEventListener(Event.COMPLETE, myLoader_complete); 
function myLoader_complete( event:Event, strIn:String ): String {
   ...
   return strOut;
}
Куда правильно вставить strIn и strOut в этот код?

Старый 18.12.2009, 18:49
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Обработчик не должен возвращать никаких значений.

Старый 18.12.2009, 18:55
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 3  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
А как тогда сделать возвращение значения из функции загрузки xml-файла?
К примеру Class1 вызывает функцию loadXML из Class2. Мне надо присвоить надписи кнопкам в классе Class1 из данных XML. Неужели данные придётся передавать через глобальные переменные?

Старый 18.12.2009, 19:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А КОГДА Вы собираетесь присваивать кнопкам надписи? Надеюсь, ПОСЛЕ того, как XMLка загрузится? Вот этим и должен заниматься обработчик. Разбор XML должен быть либо в коде самого обработчика, либо в другой функции, вызываемой из обработчика, возможно с передачей ей XML как параметра вызова, если не хотите хранить данные в приватной переменной.
__________________
Reality.getBounds(this);

Старый 18.12.2009, 19:19
Himerets вне форума Посмотреть профиль Отправить личное сообщение для Himerets Найти все сообщения от Himerets
  № 5  
Ответить с цитированием
Himerets
 
Аватар для Himerets

Регистрация: Oct 2009
Адрес: Калининград
Сообщений: 134
Лисенер значение не вернет
Можно сделать обработчик в Class1 на class2.loader и в нем установить заголовки кнопок.
Можно в обработчике в Class2 сделать нечто подобное:
Код AS3:
(parent as Class1).setButtonCaption(captionFromXML)
Немного через задницу, конечно, но по-моему лучше, чем через глобальные переменные класса Class2
__________________
Жду ответа, как соловей лета. (С) Морис Мосс, 'IT Crowd'

Старый 18.12.2009, 19:46
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 6  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
Обработчик вызывается из функции загрузки ХМЛ, конечно же после.
Обработчик находится в том же классе что и загрузчик.
Но мне надо передать значение в главный класс, из которого вызывается загрузчик. А из загрузчика вызывается обработчик.
Порядок вызова ф-ий таков:
"Главный класс" => "ф-ия загрузчик" => "ф-ия обработчик"
Т.е. в обратном порядке надо получить значения.
В загрузчик передаю аргумент просто: строка = функция(аргумент).
А как получить значение, если функция является обработчиком события?

Старый 18.12.2009, 20:19
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
1. Подписать "главный класс" на событие.
2. Если не нужен никак обработчик в главном, то делать разбор в Вашем обработчике и по окончании в нем же диспатчить еще одно событие, ну скажем "parse_complete", на которое подписать "главный класс". Но тогда придется либо написать свое событие, содержащее данные, которые надо передать, либо придется таки завести переменную во втором классе, откуда главный сможет забрать данные, когда они будут готовы. Все просто)))
__________________
Reality.getBounds(this);

Старый 19.12.2009, 02:24
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 8  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
Понятно, спасибо всем. Буду делать слушатель в главном классе и из него вызывать обработчик и получать значение.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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