Pull to refresh

Comments 6

Это очень сильно зависит от архитектуры игры. При классической архитектуре с game loop мы просто добавляем туда флаг, при наличии которого большинство игровых механик перестают обрабатываться в теле основного цикла. У вас, судя по всему, архитектура отсутствует в принципе. Также у вас ужасный стиль кода и не менее ужасное его форматирование. Не хочу показаться грубым, но, возможно, вам пока не стоило бы пытаться чему-то научить других?

Я бы рекомендовал вам почитать, например, вот это, если владеете аглицкой мовой. Ну или просто почитать что-нибудь)
Отвечу за автора огромным спасибо за наводку на книгу. Как раз то, что я искал/хотел почитать после паттернов от четы Фрименов.
В целом, если переносить методологию работы игр из нативных приложений (C++/C# и так далее) на js, то именно «ресуроемкий» (Пример 2) используется повсеместно, ведь именно там находится считывание кнопок управления.

В случае игр на js следовало бы создать какой-то стейт, который в game loop рендерился бы, а пауза просто меняла логику внутри game loop так, чтобы реакции на кнопки управления не обрабатывались, рисовалось окно паузы и так далее. Хотелось бы всё равно иметь архитектуру.

А про оформление кода тут уже сказали, не буду повторяться.
Вполне возможно что автор просто неправильно оформил статью, в смысле блоки с кодом.
Что автор хотел рассказать, до меня не доехало. Коменты понятней статьи :)
Автор, установите beautify plugin.
По теме — да, как написали выше, стейт «пауза» поможет в game loop, рендер вообще не надо трогать, на состояние должен смотреть апдейтер, или аналогичная сущность управляющая логикой игры.

Когда сталкивался с этим вопросом, решал его именно простым условием

Кстати, requestAnimationFrame(loop) лучше вызывать перед телом loop.

Sign up to leave a comment.

Articles