![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Но, возможно, для этого разговора еще просто не настало время. Класс Keys должен просто представлять состояние клавиатуры. Никакой другой ответственности не надо на него вешать. Логическое ядро по таймеру или ентерфрейм пытается построить текущее состояние карты для нового "кадра". Опрашивает клавиатуру, какие клавиши нажаты, анализирует положение объектов: может ли двигаться перс в заданном направлении, не столкнулся ли он со стеной, или бонусом, или врагом, не достиг ли финиша и жив ли еще вообще)). Направляет врагов, в поле зрения которых попал перс, в его сторону, и т.д. Еще раз повторюсь: персонаж в вакууме это одно. Вы можете тупо прибавлять/отнимать скорость от его координаты по нажатию клавиши. Персонаж как часть системы — абсолютно другое. Здесь его движение зависит от состояния всей системы, а вовсе не только от нажатой клавиши. Просто представьте аналогию: вы с другом играете в шашки. Шашкам не надо знать, как ходить. Они просто изображают себя на карте. А перемещение делаете Вы. И Вы знаете, куда и как надо ходить, кто будет "срублен" и закончилась ли игра. Не шашки.
__________________
Reality.getBounds(this); |
![]() |
Часовой пояс GMT +4, время: 11:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|