Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Документация для продвинутых пользователей
                Создание пользовательских интерфейсов JME3 с помощью Nifty GUI

Создание пользовательских интерфейсов JME3 с помощью Nifty GUI

Опубликованно: 16.08.2017, 20:24
Последняя редакция, Andry: 22.08.2017 20:09

nifty-gui-13

Вы можете захотеть, чтобы ваши игроки могли нажатием кнопки, сохранить игру, вы хотите прокручивать текстовое поле для просмотра списка рекордов, текстовую метку для отображения количества очков, выпадающий список для выбора настройки клавиш клавиатуры или возможность указывать галочки для параметров мультимедиа. Обычно вы решаете эти задачи с помощью элементов управления Swing. Хотя и можно встроить холст jME3 в Swing GUI, но 3D игра обычно запускается полноэкранно или в отдельном окне.

В этом документе вы познакомитесь с Nifty GUI, библиотекой Java для создания интерактивных графических пользовательских интерфейсов (GUI) для игр и им подобных приложений. Nifty GUI (пакет de.lessvoid.nifty) хорошо интегрирован с jME3 через пакет com.jme3.niftygui. Вы определяете базовую компоновку GUI в XML и динамически управляемую из Java кода. Необходимые JAR библиотеки включены в загруженную вами jME3, вам не нужно ничего устанавливать дополнительно. (Просто убедитесь, что подключены пути к классам.)

Обзор уроков

Научитесь добавлять Nifty GUI в вашу jME3 игру, изучив все уроки из этих пунктов:

  1. Понимайте концепции Nifty GUI. Описано на этой странице.
  2. Просмотрите этот краткий список рекомендаций.
  3. Компоновка своего графического пользовательского интерфейса:
  4. Интегрирование GUI в игру:
  5. Взаимодействие с GUI через Java

Нужно знать: Концепция Nifty GUI

nifty-screen-layer-panel

Nifty GUI состоит из следующих элементов:

  • Nifty GUI содержит один или несколько экранов(screens).
    • Только один экран виден в одно и то же время.
    • Называйте первый экран start. А все остальные так как вам больше нравится.
    • Управление экраном осуществляется Java классом Controller.
  • Экран содержит один или несколько слоев(layers).
    • Слои представляют собой контейнеры, которые накладывают выравнивание на своё содержимое (вертикальное, горизонтальное или центрированное)
    • Слои могут накладываться друг на друга (z-порядок) и не могут быть вложенными.
  • Слои содержит панели(panels).
    • Панели представляют собой контейнеры, которые накладывают выравнивание на своё содержимое (вертикальное, горизонтальное или центрированное)
    • Панели могут быть вложенными и не могут накладываться друг на друга.
  • Панель содержит изображения, текст или элементы управления (кнопки и.т.д.).

Ресурсы

  • Просмотрите этот краткий список рекомендаций, прежде чем начинать

Пример кода с JME-Nifty

Внешняя документация

Подробнее читайте на странице NiftyGUI:

Следующие шаги

Теперь, когда вы понимаете концепции и знаете, где найти больше информации, пришло время изучить, как скомпоновать простой графический интерфейс пользователя. Обычно, вы начинаете делать это в XML.

Nifty Logging (Nifty 1.3.1)

Если вы хотите отключить ведение тестового журнала для nifty, добавьте строки с этим кодом после вашего создания nifty:

Logger.getLogger("de.lessvoid.nifty").setLevel(Level.SEVERE);
Logger.getLogger("NiftyInputEventHandlingLog").setLevel(Level.SEVERE);

Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.