Написано на "ванильном" JS, используется обычный DOM.
"Экран" игры рисуется каждые 30 мс (т.е. примерно 33 кадра в секунду). Для чего так сделано? Джаваскрипт не позволяет отслеживать одновременное нажатие нескольких клавиш (только для клавиш ctrl, alt и shift), поэтому использовал такой трюк. При событии keydown - в массиве элемент за номером event.keyCode становится true, а при событии keyup этот элемент становится false. Функция перерисовки экрана смотрит какие клавишы "активны" и вызывает функции, за которыми закреплены клавиши.
Если бы я не использовал перерисовку экрана, то нельзя было бы одновременно жать прыжок (С) и бег (стрелка).
(из-за чертовых спамеров урлы в коментах теперь писать нельзя)
Комментариев нет