LWJGL HUD в 2D игре

1

Поэтому я программирую 2D-игру на Java с LWJGL. У меня есть моя орто-камера в моем gameloop и установите ее на позицию, которую я хочу видеть. Теперь, когда я хочу нарисовать HUD, чтобы показать свои деньги и т.д., Я могу либо дать ему абсолютную координату, так что это часть моей карты, и я могу прокрутить прочь от моего HUD (что определенно не имеет смысла для HUD), или я могу добавить свой вектор HUD в свои камеры внизу слева. Проблема с этим последним решением заключается в том, что, если я перемещаю свою камеру, мой HUD не будет совершенным образом обновляться, и вы увидите, что он преследует свое фактическое положение.

Поэтому мой вопрос: есть ли способ установить фиксированную позицию относительно моего экрана во втором слое? Я видел некоторых людей, которые используют gltranslate для перемещения камеры, но я думаю, что теперь может быть много работы, чтобы изменить его, поэтому я хочу сохранить свою орто-камеру.

редактировать:

Вот как выглядит мой Graphicsloop, и он все еще не работает должным образом:

private void updateRunning() {
  cam.update();
  drawEntities();
  drawHud();
  cursor.draw();
}
  • 0
    Вы в основном хотите 2D вещи над 3D сценой?
  • 0
    Мне нужен 2D Hud в 2D игре. Ничего общего с 3D
Показать ещё 1 комментарий
Теги:
camera
lwjgl
orthographic

1 ответ

1
Лучший ответ

Я могу добавить свой вектор HUD в свои камеры внизу слева. Проблема с этим последним решением заключается в том, что, если я перемещаю свою камеру, мой HUD не будет совершенным образом обновляться, и вы увидите, что он преследует свое фактическое положение.

Это не то, что должно произойти. Скорее всего, у вас есть что-то вроде этого:

gameLoop() {
    update();
    drawPlayer();
    drawHud();
    updateCamera();
}

Однако вам необходимо обновить камеру, прежде чем рисовать что-либо (или даже до обновления).

gameLoop() {
    update();
    updateCamera();
    drawPlayer();
    drawHud();
}

Чтобы нарисовать HUD поверх других объектов, просто отрисуйте его после.

drawBackground();
drawPlayer();
drawHUD();
  • 0
    Мне не нужна помощь, чтобы нарисовать 2D Hud в 3D-игре. Мне нужно знать, как я могу нарисовать один в самой 2D-игре
  • 0
    @besplash Извините, дай редактировать ...
Показать ещё 10 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню