|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Необходимость в ADDED_TO_STAGE для визуальных объектов
Сразу оговорюсь - опять спорим.
Есть 2 точки зрения. 1) Для визуальных объектов, добавляемых на сцену, необходимо добавлять подписку на событие ADDED_TO_STAGE, что бы в его обработчике можно было инициализировать другие объекты, запускать методы и пр. Основания: когда-то и где-то было прочитано, что, если так не делать, то будут проблемы., т.к. это повышает стабильность и избавляет от каких-то ошибок. Какие и когда на данный момент уточнить не удалось, возможно продолжение будет. 2) ADDED_TO_STAGE необходим только в тех случаях, когда необходим, т.е. когда на этапе инициализации (пока завязка именно на ней) нет необходимости в доступе к parent-у (что само по себе можно считать ошибкой) или к stage-у (что необходимо учитывать на этапе проектирования, и обращение к stage-у зачастую не оправдано кроме редких исключений). Кто-то может сказать про всплывающие события, но я еще ни разу не встречался с необходимостью/ситуацией диспатча всплывающих событий из визуального объекта, не добавленного на сцену, т.е. это баг проектирования изначально. Основания: объект создался - его можно использовать. Нет необходимости в дополнительных событиях. Кто прав? Заранее спасибо.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Подписка нужна если ли нужен стедж и при этом не факт что сам объект сразу окажется на сцене.
А если учесть что в конструкторе при любых раскладах стеджа не будет - если нужен стедж - всегда стоит делать подписку на аддед-ту-стедж. Ну или делать какой-то там паблик метод инит(). И уже его руками дергать когда объект гарантировано на сцене.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Цитата:
Немного странноватый топик. ADDED_TO_STAGE - наиболее разумный способ гарантировано получить ссылку на stage. Зачем от него отказываться или ставить под сомнение его необходимость? |
|
|||||
Цитата:
Цитата:
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
использовать нужно тогда когда объекту нужно узнать момент добавления в дисплей лист,
в остальных случаях использовать не надо например у вас пулл снарядов в игре, и снаряду нужно знать он виден сейчас или нут, если виден то он будет лететь и оставлять дымный след, а если не виден, то будет молча лежать в хранилище с другими снарядами ждущими когда их запустят но даже тут есть варианты, всё зависит от того кто и как добавляет снаряд на сцену, например этим может заниматься специальный менеджер объектов сцены, по сигналу от пушки он добавит снаряд на сцену и заодно может сказать ему: "пошёёёл!!!", в такой ситуации снаряду не нужно самому узнавать что его добавили на сцену, ему об этом уже сказал менеджер так что всё зависит еще и от архитектуры вашего приложения
__________________
Хороший отдых - половина работы. |
Часовой пояс GMT +4, время: 00:11. |
|
« Предыдущая тема | Следующая тема » |
|
|