Для хобби я делаю игру. В игре есть монстр, преследующий человека (Pacman-like). Когда Пакман застрял, он может съесть человека или сделать какое-то движение; событие должно быть поднято. Это потому, что моя программа стала не-oop, потому что все объекты должны были знать друг друга, что не помогло.Нужно ли создавать пользовательские события в этой ситуации?
Существует объект управления (называемый Game), который должен отвечать на событие; перемещенный человеком, чудовище, перемешанное с человеком, застрявшее в монстрах, и в конечном итоге пусть мнение знает, что что-то произошло, и оно перекраивается. Точно также, что взгляд реагирует на нажатия клавиш актера и что эти события каким-то образом достигают человека (также с событием).
Может кто-нибудь помочь мне в том, как я могу лучше всего решить эту проблему? Я искал интернет по аналогичным проблемам, но не наткнулся на него.
В MVC: контроллер знает вид? Если да: вся программа начинается с контроллера или с представлением? (То, что делает кто)
спасибо за часть MVC :-) Это помогло мне, поскольку некоторые люди, которых я знаю, верят, что лучше контролировать контроллер только вместе и не знает представления. Я думал о специальном событии вроде; класс GameEvent расширяет EventObject. С идентификатором, который описывает событие (с использованием таких констант, как GameEvent.EntityMoved, HumanEaten, SnapperStuck и т. Д.). Единственное, что мне еще нужно знать; как может вид (который ловит ключевые события, такие как стрелка), позволяет человеку понять, что он должен двигаться вверх? – zondvloed
Ваша идея создания класса GameEvent и ссылки на каждое событие с использованием констант, таких как ENtityMoved и т. Д., Приятно. как ваш взгляд позволит человеку узнать, может быть достигнуто таким образом. ArrowUpEvent ---> Контроллер прослушивает событие и отправляет на просмотр ----> Просмотр генерации другого события ---> объекты-люди получают событие из представления. –
Итак, вы предлагаете мне иметь другое пользовательское событие под названием MoveHuman (или также сделать его постоянным в GameEvent) и позволить человеку его слушать? Но не все ли тогда склоняются к классу GameEvent (как и в случае, если это хорошо связывает)? спасибо за вашу помощь и время в этом вопросе btw! – zondvloed