2010-04-15 2 views
0

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

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

ответ

1

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

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

1

Я хотел бы сделать это следующим образом:

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

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

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

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

0

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

Смежные вопросы