Сообщений: 6
Написано 2 полезных сообщений (для 2 пользователей)
Ответ: Пауза и свет
Спасибо всем,сижу изучаю туторы.Получилось реализовать меню используя пример LLI.T.A.L.K.E.R. , он больше подошел для моей "игры". Для более крупных проектов буду использоватьалгоритмы посложнее
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
Ответ: Пауза и свет
Хмм....весьма примитивно и снова не гибко.
На самом деле твой метод ужасен.
Зачем плодить отдельные классы на состояния?
Init() и Destroy() для игрового состояния - это вообще бред.
Во вторых при твоем подходе весьма затруднительно будет комбинировать стейты между собой, а тут все просто : CreateEvent(GAME_WORLD_DRAW_ONLY | GAME_PAUSE).Emit() - дали команду движку что приложение находится в паузе. А движок уже сам допиливает этот флаг ( рисовать но не обновлять мир + рисовать и обновлять меню паузы). флаг GAME_PAUSE - отвечает только за отрисовку потемневшего задника + обновление и отрисовку менюхи, а за застывший задний кадр отвечает впередиидущий флаг состояния. На то она и гибкость - что жестко ничего привязывать не надо.
Если тебя испугал тот громозкий код, то там происходит всего-то - инициализация при запуске программы, зато главный цикл - 3 строчки кода. И мне не надо запоминать и где то хранить переменные стэйтов, а вместо этого просто комбинировать 6-7 основных стэйт-флагов. =)
ЗЫ Во всех нормальных программах управление ядром осуществляется через события
А никто сам исходный код не помнит.....там проще было...гдето тутор был.