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

Индикатор

Опубликованно: 01.05.2017, 23:36
Последняя редакция, Andry: 02.05.2017 15:18

Класс Indicator

Индикатор представляет собой настраиваемый индикатор выполнения, который может использоваться для отображения статистики игрока и.т.п.

Индикатор использует 3 стандартных конструктора, как показано в кратком руководстве, с добавлением одного дополнительного параметра:

  • Orientation — добавляется в конец списка параметров каждый раз

Особенности:

  • Clipping + alpha mask для создания любого фирменного индикатора, который вы хотите
  • Отобразите индикатор в любом выбранном вами цвете.
  • Индикаторы на основе изображения вместо цвета + отсечения
  • Накладывание изображения на прозрачные контейнеры-индикаторов

Пример конструктора:

/**
  * Параметры:
  * Screen screen
  * String UID
  * Vector2f position
  * Orientation orientation
  */
Indicator ind = new Indicator(
    screen,
    “SomeID”,
    new Vector2f(10,10),
   Orientation.VERTICAL
);

Изменение и изменение индикатора

// Использование изображения вместо цветного индикатора
ind.setBaseImage(String imgPath);

// Используйте обрезанное изображение для индикатора
ind.setIndicatorImage(String imgPath);

// Изменение цвета индикатора или раскраска индикатора на основе изображения
ind.setIndicatorColor(ColorRGBA indicatorColor);

// Добавить отступы (поля) в индикаторную часть индикатора
ind.setIndicatorPadding(Vector4f padding);

// Измените индикатор! ВАЖНО! setIndicatorAlphaMap теперь @Deprecated, используйте это вместо этого:
ind.setAlphaMap(String alphaMapPath);

Методы, относящиеся к классу Indicator:

// Получить ориентацию индикаторов
ind.getOrientation();

// Настройка диапазонов значений
ind.setMaxValue(float maxValue);
ind.setCurrentValue(float currentValue);

// Получить текущую информацию
ind.getCurrentPercentage();
ind.getCurrentValue();
ind.getMaxValue();
ind.getTextDisplayElement(); // Возвращает текстовый элемент для форматирования
ind.setDisplayValues(); // Отображаемое значение в формате: текущий/макс. или 10/100
ind.setDisplayPercentage(); // Отображает процент: 82% и.т.д.
ind.setHideText(); // Удаляет отображаемый текст (по умолчанию)

Примеры индикаторов

Вырезайте и вставиляйте следующий код в метод simpleInitApp нового проекта JME. Используйте ползунок для регулировки индикатора.

flyCam.setDragToRotate(true);
inputManager.setCursorVisible(true);

screen = new Screen(this);
guiNode.addControl(screen);

final ColorRGBA color = new ColorRGBA();

final Indicator ind = new Indicator(
    screen,
    new Vector2f(50,50),
    new Vector2f(300,30),
    Orientation.HORIZONTAL
) {
    @Override
    public void onChange(float currentValue, float currentPercentage) {  }
};
ind.setBaseImage(screen.getStyle("Window").getString("defaultImg"));
//ind.setIndicatorImage(screen.getStyle("Window").getString("defaultImg"));
ind.setIndicatorColor(ColorRGBA.randomColor());
ind.setAlphaMap(screen.getStyle("Indicator").getString("alphaImg"));
ind.setIndicatorPadding(new Vector4f(7,7,7,7));
ind.setMaxValue(100);
ind.setDisplayPercentage();

screen.addElement(ind);

Slider slider = new Slider(screen, new Vector2f(100,100), Orientation.HORIZONTAL, true) {
    @Override
    public void onChange(int selectedIndex, Object value) {
        float blend = selectedIndex*0.01f;
        color.interpolate(ColorRGBA.Red, ColorRGBA.Green, blend);
        ind.setIndicatorColor(color);
        ind.setCurrentValue((Integer)value);
    }
};

screen.addElement(slider);

indicatorexample

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

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

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