![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2010
Сообщений: 28
|
Здравствуйте, толкового ответа мне не удалось найти на форуме, поэтому решил спросить сам.
Есть переменная, при изменении которой вызывается функция.. нужно написать слушатель, но вот какой.. |
|
|||||
|
Что значит "слушатель"?
Вы хотите мониторить момент изменения переменной? Делаете класс, наследуя его от EventDispatcher, в нем делаете свою переменную. Делаете методы get и set для переменной. В гетере-сетере вызываете dispatchEvent. В любом другом месте мониторите изменение, организоывая прослушку через addEventListener.
__________________
interplanety |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 28
|
у меня необходимая переменная в классе который уже наследует Sprite, одновременно Sprite и EventDispatcher. Можно какой нибудь пример для разбора?
|
|
|||||
|
Lorem ipsum
|
package { import flash.display.Sprite; import flash.events.Event; public class MyDispatcher extends Sprite { private var _someVar:int; public function MyDispaycher() { super(); } public function set someVar(value:int):void { this._someVar = value; super.dispatchEvent(new Event(Event.CHANGE)); } public function get someVar():int { return this._someVar; } } } package { import flash.events.Event; public class MyListener { private var _myDispatcher:MyDispatcher; public function MyListener() { this._myDispatcher = new MyDispatcher(); this._myDispatcher.addEventListener(Event.CHANGE, onChange); // ну и для проверочки this._myDispatcher.someVar = 123; } private function onChange(event:Event):void { trace("ЭЭЭ!! Э! А НУ ЧО ТАМ: " + this._myDispatcher.someVar); // 123? } } }
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 15.12.2012 в 23:18. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|