PDA

Просмотр полной версии : Собственные события


dmitry bond
21.06.2012, 09:21
Добрый день
Искал везде информацию, но так и не понял как реализовывается.
Передо мной стоит задача:
Есть класс Coins
В нем переменная a
В классе Pro нужно событие, которое будет слушать изменение переменной a и при ее изменении вызывать обработчик события. Как можно такое реализовать?

udaaff
21.06.2012, 09:42
http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e53.html

ЗлОй ПрОграММер
21.06.2012, 09:54
можно ещё использовать сеттер чтобы слушать изменение переменной

Deimos747
21.06.2012, 09:55
private var _a: Object;

public function get a(): Object
{
return _a;
}

public function set a(value: Object): void
{
_a = value;
dispatchEvent(new Event(Event.CHANGE));
}

самый простой способ

Добавлено через 1 минуту
А в классе Pro вешается слушатель на события Event.CHANGE на Coins

dmitry bond
21.06.2012, 11:29
1180: Call to a possibly undefined method dispatchEvent. (C:\Users\Nexy\Desktop\проекты\bot up\coins.as) project.fla /project/src-project

Сам класс я импортировал:
import flash.events.EventDispatcher;

Как быть ?

alatar
21.06.2012, 11:31
Coins должен наследоваться от EventDispatcher или реализовывать IEventDispatcher.

dmitry bond
21.06.2012, 11:52
1061: Call to a possibly undefined method addEventListener through a reference with static type Class.

Сделал наследование, теперь в классе Pro не может найти метод addEventListener в Coins

alatar
21.06.2012, 12:03
И как вы пытаетесь добавить слушатель?

dmitry bond
21.06.2012, 12:12
Coins.addEventListener(Event.CHANGE, gogo)

ObOs
21.06.2012, 12:15
Надо слушать не класс а его экземпляр

var coins:Coins=new Coins();
coins.addEventListener(Event.CHANGE, gogo)