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