Показать сообщение отдельно
Старый 30.11.2009, 02:04
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 7  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Ну, если активен должен быть только один элемент и только нажатый, то да. Только лучше, чтобы элементы не лезли в управляющий класс. Это он их содержит, а не они его. Поэтому лучше, если при активации определённого элемента схема будет вызывать у этого элемента определённый метод (или устанавливать свойство). Аналогично при деактивации.

Также, возможно, будет удобнее перенести обработку MOUSE_DOWN/MOUSE_UP и других событий ввода, касающихся конкретного элемента, в класс самого элемента, а не обрабатывать их в схеме. Это обеспечит бОльшую гибкость в случае разных типов элементов, так как элемент сам сможет решать, как ему реагировать на ввод. А уже после принятия решения, если нужно, сообщать о нём схеме (с помощью посылки соответствующего события).

Слушателя события нескольких объектов можно создать, либо подписав его на это событие для всех объектов по очереди, либо используя бабблинг (всплывание событий). Во втором случае нужно передавать в конструктор события второй аргумент, равный true. Всплывание работает только для наследников класса DisplayObject, добавленных в контейнер. Слушатель можно добавлять в любом из иерархии родительских контейнеров.


Последний раз редактировалось SamFR; 30.11.2009 в 03:08.