Я пытаюсь разработать простую игру в стиле Zelda. Я нашел эту очень полезную тему
Как LoZ: Ссылка на Прошлое обрабатывает столкновения суб-плитки?
что я использую в качестве ссылки для разработки моего механизма обнаружения столкновений. Однако есть кое-что, чего я не смог понять. Когда Линк находится позади зданий, отображается только его часть. Может ли кто-нибудь помочь мне понять, как этот эффект может быть достигнут? Разве здание не является частью фона?
Ответы:
2D-мозаичные игры обычно имеют больше слоев, которые отображаются в разных слоях - некоторые отображаются на заднем плане, другие над игроком.
Эта часть крыши находится над игроком, и поэтому игрок может пройти за этим зданием.
Вот пример изображения из моей игры, чтобы объяснить лучше:
источник
В то время как ответ Blodyavenger покрывает, как это наиболее вероятно, вот еще одна возможность, которая позволила бы легко переключать перспективу (например, четыре или восемь различных направлений, или некоторые уровни высоты камеры):
Рассмотрите вид сверху вашей карты, например,
Где, скажем,
X
отмечается высокий столб. Для каждого объекта вы сохраняете изображения всех возможных перспектив (или используете одно и то же ...), высота которых может быть произвольно много плиток. Теперь при рисовании просто начните со столбца или строки, которые находятся сзади в текущей перспективе, например, строка 1, если смотреть с юга. После этого нарисуйте строку / столбец вторым по направлению к спине и так далее. Таким образом, когда что-то выше, чем одна плитка (растянутая на текущую перспективу), она просто переопределит то, что находится позади.(Извините за отсутствие красивых картинок, я не слишком хорош в прикладной графике ...)
источник
У вас должна быть переменная для глубины, и сначала должны быть нарисованы изображения с самой большой глубиной, а затем другие с самой низкой глубиной. И глубина каждого объекта должна быть равна отрицательной его координате y.
Depth=-y
источник