Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Собственные события (http://www.flasher.ru/forum/showthread.php?t=181340)

dmitry bond 21.06.2012 09:21

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

udaaff 21.06.2012 09:42

http://help.adobe.com/ru_RU/ActionSc...0204-7e53.html

ЗлОй ПрОграММер 21.06.2012 09:54

можно ещё использовать сеттер чтобы слушать изменение переменной

Deimos747 21.06.2012 09:55

Код AS3:

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

Сам класс я импортировал:
Код AS3:

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

Код AS3:

Coins.addEventListener(Event.CHANGE, gogo)


ObOs 21.06.2012 12:15

Надо слушать не класс а его экземпляр
Код AS3:

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



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

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