Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.09.2012, 20:16
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 1  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Необходимость в ADDED_TO_STAGE для визуальных объектов

Сразу оговорюсь - опять спорим.
Есть 2 точки зрения.
1) Для визуальных объектов, добавляемых на сцену, необходимо добавлять подписку на событие ADDED_TO_STAGE, что бы в его обработчике можно было инициализировать другие объекты, запускать методы и пр.
Основания: когда-то и где-то было прочитано, что, если так не делать, то будут проблемы., т.к. это повышает стабильность и избавляет от каких-то ошибок. Какие и когда на данный момент уточнить не удалось, возможно продолжение будет.
2) ADDED_TO_STAGE необходим только в тех случаях, когда необходим, т.е. когда на этапе инициализации (пока завязка именно на ней) нет необходимости в доступе к parent-у (что само по себе можно считать ошибкой) или к stage-у (что необходимо учитывать на этапе проектирования, и обращение к stage-у зачастую не оправдано кроме редких исключений). Кто-то может сказать про всплывающие события, но я еще ни разу не встречался с необходимостью/ситуацией диспатча всплывающих событий из визуального объекта, не добавленного на сцену, т.е. это баг проектирования изначально.
Основания: объект создался - его можно использовать. Нет необходимости в дополнительных событиях.

Кто прав? Заранее спасибо.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.09.2012, 20:34
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Я не понял обе точки, но я за ту, что он нужен тогда, когда наверняка нужна сцена :о)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 06.09.2012, 20:37
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 3  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
GBee, именно это и подразумевалось во 2м варианте. В 1м варианте ожидаем stage в любом случае и только потом начинаем все телодвижения.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.09.2012, 20:40
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 4  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Подписка нужна если ли нужен стедж и при этом не факт что сам объект сразу окажется на сцене.
А если учесть что в конструкторе при любых раскладах стеджа не будет - если нужен стедж - всегда стоит делать подписку на аддед-ту-стедж.
Ну или делать какой-то там паблик метод инит(). И уже его руками дергать когда объект гарантировано на сцене.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 06.09.2012, 20:41
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
1. Бред. "Когда-то" и "где-то" не основания. Надо знать, а не гадать. Это же не астрология.
2. Выкинуть все, что после второй запятой.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 06.09.2012, 21:00
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
2. Выкинуть все, что после второй запятой.
После третей

Немного странноватый топик.
ADDED_TO_STAGE - наиболее разумный способ гарантировано получить ссылку на stage. Зачем от него отказываться или ставить под сомнение его необходимость?

Старый 06.09.2012, 22:07
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 7  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Цитата:
После третей
2й. Хотелось расшифровать, но получилось словоблудие.
Цитата:
Зачем от него отказываться или ставить под сомнение его необходимость?
Нигде выше не было речи о том, что бы совсем отказаться, речь шла о применении только в тех случаях, когда это необходимо против применения всегда.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 06.09.2012, 23:00
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 8  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
использовать нужно тогда когда объекту нужно узнать момент добавления в дисплей лист,
в остальных случаях использовать не надо

например у вас пулл снарядов в игре, и снаряду нужно знать он виден сейчас или нут, если виден то он будет лететь и оставлять дымный след, а если не виден, то будет молча лежать в хранилище с другими снарядами ждущими когда их запустят

но даже тут есть варианты, всё зависит от того кто и как добавляет снаряд на сцену, например этим может заниматься специальный менеджер объектов сцены, по сигналу от пушки он добавит снаряд на сцену и заодно может сказать ему: "пошёёёл!!!", в такой ситуации снаряду не нужно самому узнавать что его добавили на сцену, ему об этом уже сказал менеджер

так что всё зависит еще и от архитектуры вашего приложения
__________________
Хороший отдых - половина работы.

Старый 07.09.2012, 08:17
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
речь шла о применении только в тех случаях, когда это необходимо против применения всегда.
А, ну да, согласен. Использовать только когда необходимо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:11.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.