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

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

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

Регистрация: Jan 2007
Сообщений: 302
Cool Помогите разобраться с dispatchEvent! :(

Доброй ночи, я уже сегодня книги и форум целый день лопачу, - но немогу вьехать как мне прикрутить dispatchEvent
У меня есть класс Comboboxen в котором есть Combobox,
Из другого класса мейн мне нужно получать данные что в выбраной ячейке ComboBox класса Comboboxen. Тоисть отлавливать Event.CHANGE

Никак не получается.

Вот как делаю
Comboboxen.as
Код AS3:
public var cb:ComboBox = new Combobox();
//.....
cb.dispatchEvent(new Event(Event.CHANGE));
addChild(cb);
Main.as
Код AS3:
public var c_box:Comboboxen = new Comboboxen();
//.....
c_box.addEventListener(Event.CHANGE, ChangeCombBox);
addChild(c_box);
//....
private function ChangeComBox(e:Event){
trace(c_box.selectedLabel);
}
Мне нужно, чтоб trace(c_box.selectedLabel); - это работало.
Подправте пожалуйста, а то заморился уже, читаю, читаю, а сути понять немогу, - может хоть так пойму..
Спасибо огромное!

Старый 18.02.2010, 02:41
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 2  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Код AS3:
// ComboBoxen.as
private var cb : ComboBox = new ComboBox();
cb.addEventListener (Event.CHANGE, redispatch);
addChild(cb);
...
private function redispatch(event : Event) : void {
 dispatchEvent (event);
}
 
public function get selectedLabel () : String {
  return cb.selectedLabel;
}
 
// Main.as
public var c_box : ComboBoxen = new ComboBoxen();
...
c_box.addEventListener(Event.CHANGE, cbChangeHandler);
...
private function cbChangeHandler (event : Event) : void {
  trace (c_box.selectedLabel);
}
Добавлено через 1 минуту
вообще некрасиво это все выглядит, но решение я вам предоставил.
__________________
Блог, Twitter
Брюзга.

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

Регистрация: Jan 2007
Сообщений: 302
Исправил, - так как вы написали.
Компилируется без ошибок, - но Event.CHANGE не срабатывает




ОЙ ПРОШУ ПРОЩЕНИЯ!!!
ВСЕ РАБОТАЕТ, я случайно закоментировал одну строчку.

А как функционирует эта функция?
Код AS3:
public function get selectedLabel () : String {
  return cb.selectedLabel;
}
Она как то сама по себе..




--------------------------------------------
А у меня 3 Комбобокса, - тогда их через свич проверять на event.target? Или как сделать, чтоб каждый Комбобокс прослушывался.
Спасибо.


Последний раз редактировалось Killer_13; 18.02.2010 в 03:20.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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