Как закрепить ориентацию для HTML5 игры

Если вы делаете HTML5 игру под телефоны, то вы не можете сделать lock orientation как это возможно в нативной разработке чтобы игра сама не поворачивалась когда вертят девайс, т.к. само приложение браузера может поворачиваться как угодно и страница с игрой будет отображаться в любой ориентации.

Но мы можем сделать по другому — показывать сигнал того, что игроку следует повернуть устройство, если оно повёрнуто не так как нужно для лучшего отображения игры.

Например, подобную картинку:

В моём примере это выглядит так:

Код всего этого действа заключён в моём стандартном шаблоне-заготовке для HTML5 игр.

Всё основное настраивается в модуле Config:

  // orientation config
  export const isLockOrientation = true;
  export const lockOrientationMobileOnly = false;
  export const lockOrientationLand = false;

isLockOrientation — показывает должна ли вообще быть реакция на неправильную ориентацию, т.е. если он = false, то никакой экран предупреждения показываться не будет.

lockOrientationMobileOnly — если равен false, то предупреждение о развороте показывается везде, а если = true, то только на мобильных.

lockOrientationLand — указывается правильный тип ориентации игры, true — landscape (горизонтальный) или false -portrate (портретный).

Вся логика отображения предупреждения находится в классе ScaleManager.

В дополнение к такому предупреждению ещё можно останавливать игру или скрывать во время не верной ориентации. Тут уже на усмотрение вашей фантазии и потребностей.