Цитата:
Сообщение от Fogflasher
Isfet, спасибо, в целом понятно.
Хотелось бы еще пару вопросов задать на этот счет:
1. Вот эта конструкция, которая у вас в Main:
Код AS3:
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
Я уже ее видел несколько раз. Кажется, ее Wolsh изобрел, но возможно это что-то из классики.
Она обязательна? Это какая-то подстраховка, профилактика, от тормозных плееров? Вроде и без нее все работает нормально.
|
Обычно достаточно второй строчки, без проверки на stage:
Код AS3:
addEventListener(Event.ADDED_TO_STAGE, init);
Объект, владеющий сценой, — stage owner a.k.a. Document class, уже (даже?) в конструкторе имеющий ссылку на stage получает событие ADDED_TO_STAGE. Так что проверка на наличие stage в конструкторе и обращение к нему в конструкторе может использоваться для специфических случаев. В остальном, простая подписка на ADDED_TO_STAGE будет работать единообразно для всех инстансов DisplayObject.