2016-06-03 1 views
4

Я делаю нисходящую лабиринтную игру в libgdx, и я использую extendViewport для рендеринга игровой камеры. Я немного смущен тем, как я собираюсь создать миникарту. Должен ли я создать дополнительный видовой экран и камеру для мини-карты? Я до сих пор не знаком со всей областью просмотра/камеры. Благодаря!Libgdx | Как создать миникарту?

+0

Это слишком широкий вопрос для этого сайта. Я предлагаю просить на форумах LibGDX, и вы получите несколько разных идей для его приближения. В отличие от рекомендаций в ответе ниже, я бы абсолютно создал вторую камеру и видовое окно, чтобы вы могли рассматривать мини-карту как свой собственный экран и не беспокоиться о том, чтобы обрезать что-либо перед ее рисованием. Но я бы не стал пытаться использовать класс Viewport и Stage для этого, так как может быть громоздко правильно реализовать все методы Viewport для нецентризованного окна просмотра. – Tenfour04

+0

Если вы используете stage2D для компоновки своего пользовательского интерфейса, вы можете рассмотреть возможность рисования мини-карты в FrameBuffer и создание изображения из текстуры FrameBuffer для размещения в вашем пользовательском интерфейсе. Но это все равно потребует уникальную камеру для мини-карты. Попытка нарисовать миникарту с использованием той же камеры, что и остальная часть вашей сцены, - это рецепт для многократного удара головой по стене, imho. :) – Tenfour04

+0

@ Tenfour04 Итак, как я могу рисовать его в frameBuffer? Прошу прощения за все вопросы. Я также хочу исключить некоторые вещи из мини-карты, например, игрока. Единственное, что стоит на мини-карте, - это плитка. – Wyatt

ответ

-1

Wyatt, мини-карта, безусловно, не должна быть просто меньшей версией всей видовой области игры. Причина в том, что он имеет разную функциональность и выглядит по сравнению с видовым экраном игры. Вместо этого, миникар должен быть актером на сцене, который берет макет вашей карты, чтобы нарисовать себя, и процентное соотношение x и y от положения и размера вашей камеры относительно лабиринта, чтобы указать на мини-карту, которую видит игрок в настоящее время. Если это вообще возможно, я предлагаю вам придерживаться 1 камеры и 1 видового экрана для всего проекта, если вы не знакомы с libgdx. Вы сэкономите массу времени и разочарования. Удачи