AS3: Как отправить из класса документа? - PullRequest
0 голосов
/ 15 апреля 2010

У меня довольно хороший прием при отправке из классов, отличных от класса документа, но что происходит, когда я хочу отправить событие из класса Document и заставить другие классы прослушивать трансляцию класса документа?

Кажется, что есть несколько способов приблизиться к этому (то есть, используя Singleton, используя композицию, используя MovieClip (root)). Мне просто было интересно, что люди находят для этого "наилучшей практикой"?

Ответы [ 3 ]

1 голос
/ 23 сентября 2010

Простой: не делай этого.

Почему вы не можете просто сказать объектам, что делать? Класс документа находится на вершине иерархии, он должен иметь возможность напрямую манипулировать объектами. Объекты, расположенные ниже по иерархии, должны отправляться вверх, но не вниз.

1 голос
/ 15 апреля 2010

Я бы сделал это так:

в классе документов:

public function attachEventListener(event:String, callback:Function) {
   addEventListener(e, callback, false, 0, true);
}

Если вы не хотите, чтобы другие классы имели доступ к классу документа, я бы просто добавил addEventListener(Event.MY_EVENT, someClass.eventListenerFunction, false, 0, true); в классе документов.

Но, очевидно, есть и другие способы сделать это. Зависит от ваших предпочтений.

0 голосов
/ 15 апреля 2010

Вы должны передать класс документа как параметр другим конструкторам классов.

...