Показать сообщение отдельно
Старый 15.03.2013, 09:33
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 1  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
По умолчанию Передача события дочернему объекту

Добрый день. Проблема в следующем:
Есть у меня класс обработки нажатий клавиш, который занимается тем, что выкидывает события нажатия каких-то определенных клавиш. То есть сам он отслеживает просто факт нажатия и отпускания, а диспатчит отдельные события по кнопкам (например событие StateChangeEvent.JUMP). Все эти события изначально должен был отслеживать класс, определяющий перемещения в зависимости от найденных столкновений.

Все было хорошо, пока не поменялось ТЗ и не пришлость делать факт нажатия клавиши "Выстрел" совершенно отдельно от перемещения.

Мое упрощенное решение - отслеживать нажатия клавиши "выстрел" в объекте игрока, а не в классе проверки столкновений. И, собственно, сама проблема - объект проверки нажатия клавиш по иерархии никак не связан с объектом игрока. Иерархия схематически следующая:
Название: диаграмма.png
Просмотров: 388

Размер: 9.1 Кб

Объект проверки столкновений еще меняет значение "состояние" игрока, и эта схема работала хорошо пока ТЗ не поменялось. Раньше на 3 состояния выстрела (стоя, во время ходьбы, в прыжке) отводилось три разных состояния. Сейчас состояние выстрела совершенно не зависит от того, в каком положении находится игрок.
-----------
Кто подскажет, есть ли способ передать событие вьюшке персонажа? А если нет, то может какое-то другое "архитектурное" решение есть?
Заранее спасибо