|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
в таком случае в этом коде не много смысла.Если у экрана есть ссылка на стейдж -this.stage, значит он уже туда добавлен и добавлять его снова имеет смысл только чтоб быстро переместить его поверх всего, что уже есть на стейдже.Все это сильно напоминает г****код.
Еще раз - экран не должен сам добавлять себя никуда.Может статься, что добавлять его надо будет не на стейдж, а в какой-нибудь контейнер.Экран должен оповестить ответственного что его надо показать .Аналогично в нужный момент он должен оповестить что пора его скрыть. |
|
|||||
Регистрация: Jun 2014
Сообщений: 558
|
хм, я решил подобный вопрос иначе, мож поможет. У меня все классы(кроме одного) имеют ссылку на stage, дабы не морочиться кто кого должен добавлять. А дабы не писать спагетти, то у каждого класса есть список моих событий (своих наделал), на что и как реагировать. Нажал человек кнопку "play" кнопка отправило событие "NEW_PLAY". Все классы, которые должны как либо среагировать, подписаны на это событие и выполняют свой код. В итоге все классы общаются друг с другом только через события, зависимости минимальны, фактически можно отключать целые ветки кода и все будет работать, так же удобно включать новые классы, в одном месте общем написал this.addChild(new MyClass), что добавить его на сцену и всё, остальная логика реализуется внутри класса(ов)
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
ага, вот только если выяснится что надо, например, перенести все содержимое из стейджа в рут или еще куда придется править 100500 классов.
|
|
|||||
Регистрация: Sep 2015
Сообщений: 69
|
Цитата:
По поводу ссылки - в main мне надо сделать так да? И отвественный уже будет добавлять экран таким образом: |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
если не планируешь код сильно расширять - пиши как удобнее.
Цитата:
this.stage. |
|
|||||
Регистрация: Sep 2015
Сообщений: 69
|
Если буду делать другой проект и по вашему совету через ответственного, ему нужна будет такая ссылка?
|
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
на форуме часто рекомендуют не цеплять ничего на стейдж, а все пихать в рут, т.к. стейдж не является DisplayObjectContainer и поэтому некоторые плюхи для него недоступны.Рут по большому счету тоже не является, но он допускает приведение к DisplayObjectContainer. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Цитата:
trace(root is DisplayObjectContainer);//true trace(root.tabEnabled);// compile time error(Error: Access of possibly undefined property tabEnabled through a reference with static type flash.display:DisplayObject.) trace((root as DisplayObjectContainer).tabChildren);//без ошибок Т.е. рут по меньшей мере не обычный DOC. Добавлено через 26 минут аналогично ошибка компиляции Последний раз редактировалось undefined; 31.05.2016 в 12:37. |
|
|||||
Регистрация: Jul 2009
Сообщений: 149
|
Цитата:
|
Часовой пояс GMT +4, время: 15:34. |
|
« Предыдущая тема | Следующая тема » |
|
|