Классическая серия NES Mega Man использует очень специфическую технику прокрутки, которую я с трудом решаю реализовать. По сути, уровень делится на «экраны», которые имеют одинаковый размер. Некоторые экраны плавно переходят друг в друга, создавая иллюзию более широких игровых полей. Некоторые экраны не позволяют камере прокручиваться до тех пор, пока проигрыватель не достигнет края экрана, после чего происходит переход и отображается следующий экран. Для одного экрана также возможно иметь более одного перехода, например, у него есть лестница, которая поднимается на один экран, но вы также можете перейти к другому экрану.
Как можно смоделировать эти переходы экрана?
- Экран 0 - это стартовый экран, с которого начинается плеер.
- Экран 0-3 имеет горизонтальную плавную прокрутку и представляется игроку как одно непрерывное игровое поле.
- Поскольку происходит переход между Экраном 3 и соседними экранами 4 и 5, камера не продвинется выше правого или верхнего края Экрана 3, если игрок не переместится к этому соответствующему краю и не «продвинется» к следующему экрану.
Когда игрок перемещается к одному из краев перехода, пользовательский ввод на мгновение отключается, и камера переходит в новую область, после чего пользовательский ввод восстанавливается.
Синий экран (Экран 5) отключил горизонтальную прокрутку, поэтому возможны только вертикальные переходы.
- Зеленый экран (Экран 6) имеет вертикальный переход обратно к Экрану 5, но также обеспечивает горизонтальную плавную прокрутку на Экран 7.
Редактировать : Реализация переходов с точки зрения комнат приводит меня к этому:
Маленькие выемки со стрелкой - это области, в которых может происходить переход. Каждый регион имеет «направление» и ложь только вне видимой области комнаты. Как только игрок попадет в регион, начнется переход.