Показать сообщение отдельно
Старый 19.09.2017, 00:02
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 15  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,283
Цитата:
Насколько я понимаю, должен быть один и только один класс-"рисовальщик"
Что ты называешь "рисовальщиком"?За рендеринг экранных объектов отвечает flash runtime.Задача корневого do-контейнера - создавать/уничтожать и управлять всеми дочерними визуальными объектами.Компонент- любой визуальный объект внутри контейнера.
Например проект игры на два экрана(игр. меню и игровой экран).Корневой контейнер не имеет визуального представления, но может содержать внутри себя другие визуальные объекты(DO) и другие контейнеры визуальных объектов(DOC).На старте приложения мы просто создаем объект корневого контейнера и говорим ему "поехали".Корневой DOC создает экран "главное меню" и добавляет его в себя.Для простоты будем считать что в меню всего одна кнопка-"старт".Меню слушает события от своих детей.Например при клике по кнопке,она испускает событие "click".Меню ловит это событие и должно оповестить корневой DOC.Меню шлет событие "start game" которое слушает корневой DOC.Корневой DOC уничтожает экран "меню",создает экран "игра" и помещает его в себя.
Тут важно следить чтоб компоненты общались только со своими родителями т.е. корневой DOC должен реагировать только на события,отправленные его детьми(игр. меню и игровой экран).Т.е. не должно быть такого чтоб родитель родителя реагировал на события детей детей .В данном примере это значит что корневой DOC не должен слушать событие "click" от кнопки старт.