Показать сообщение отдельно
Старый 06.11.2013, 09:49
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 8  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Добавлено через 6 минут
Кнопка не может содержать в себе код, делающий что-то не с кнопкой или ее детьми. Никогда.
"Кнопка" это то, что нажимается, а не то, что удаляет все объекты со стейджа. Все, что должна уметь кнопка — нажиматься. Такую кнопку можно использовать в любом проекте, потому что она просто делает СВОЮ работу. Разносить логику, касающуюся всех, по всем мелким детишкам проекта еще хуже, чем писать код в отдельных кадрах мувиклипов.
Хм, кажется, я только щас начал понимать глубинный, мироточивый смысл этих слов.

Так что-же получается, в нашем кустомном классе Button вообще не должно быть никаких листенеров, вообще ничего?
Ну максимум, координаты, размеры, имя экземпляра, и всё...

Выходит, на весь проект (типа: ГУИ-интерфейс), должен быть некий единый глобальный слушатель, который находится в мега-родителе.
И он уже отсеивает по свойствам e.target (и другим), нужные действия?

И если ребенок чего-то хочет, то единственный (грамотный) способ - это сгенерировать в нём кустомное событие, которое всплывает вверх к родителю?
А разве это не означает, что такие дети должны наследоваться от EventDispatcher, а не от Sprite, то есть они теряют доступ к свойствам последнего, что плохо : )