|
|
|||||
Регистрация: Jul 2009
Сообщений: 39
|
Свое событие (Event)
Подскажите как сделать свое событие в классе с последующем добавлением слушателя.
Нужно примерно следующее (это тестовый пример): public class Game { private var _table: Table; public function Game() { _table = new Table(); _table.addEventListener(МОЕ_СОБЫТИЕ, OnChangeTotalValue); } public function OnChangeTotalValue(e:Event) { //Вывожу общую сумму в TextField txtValue.text = _table.Total.toString(); } public function ChangeValues() { //Изменяю I и хочу чтобы сработал метод OnChangeTotalValue _table.I = 20; } } public class Table { private var _i: Number = 0; private var _j: Number = 0; public function set I(val: Number) { _i = val; //Здесь надо сгенерировать событие что сумма изменится } public function set J(val: Number) { //Здесь надо сгенерировать событие что сумма изменится _j = val; } public function get Total() { return _i + _j; } } |
|
|||||
Регистрация: Jul 2009
Сообщений: 93
|
package { import flash.events.Event; public class CustomEvent extends Event { private var _total:int; public static const CHANGE:String = "Custom.change"; public function CustomEvent(type:String, _total:int, bubbles:Boolean = false, cancelable:Boolean = false) { super(type, bubbles, cancelable); _total = _total; } public function get total():int { return _total; } } } Последний раз редактировалось FlashRabbit; 04.09.2009 в 16:32. |
|
|||||
strange mood
|
Если не нужно передавать с событием никаких дополнительных данных, то просто укажите свой тип события:
И ещё для этого класс Table должен наследоваться от EventDispatcher.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
Регистрация: Jul 2009
Сообщений: 39
|
Не понял только как само событие сгенерировть вот в этом участке кода
|
|
|||||
Регистрация: Jul 2009
Сообщений: 39
|
Туплю
|
Часовой пояс GMT +4, время: 13:40. |
|
« Предыдущая тема | Следующая тема » |
Теги |
event , listener |
|
|