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

Класс Element

Опубликованно: 30.04.2017, 14:31
Последняя редакция, Andry: 30.04.2017 14:31

Все элементы управления являются расширениями класса Element и, таким образом, предоставляют общие методы для обработки общих функций. Прежде чем перейти к конкретным элементам управления, я подумал, что было бы неплохо рассмотреть некоторые общие методы для изменения основных свойств … таких как: текст и т. Д.

Конструкторы

Класс Element предоставляет только один конструктор, используя все 6 общих параметров:

/**
  * Параметры:
  * Screen screen
  * String UID
  * Vector2f положение
  * Vector2f размеры
  *  Vector4f resizeBorders
  * String defaultImgPath
  */
Element el = new Element(
    screen,
    “SomeID”,
    new Vector2f(5,5),
    new Vector2f(100,100),
    new Vector4f(5,5,5,5),
    “someImgPath.png”
);
Все setter обеспеченны getters.

Методы с шрифтами Text/Font

element.setFont(String font path)
element.setFontSize(float fontSize);
element.setFontColor(ColorRGBA fontColor);
element.setTextAlign(BitmapFont.Align textAlign);
element.setTextVAlign(BitmapFont.VAlign textVAlign);
element.setTextWrap(LineWrapMode textWrap);
element.setTextPosition(float x, float y);
element.setTextPadding(float textPadding);
element.setText(String text);

Element расположени/размеры(Positions/Dimensions) Связанные методы

element.setPosition(Vector2f position);
element.setPosition(float x, float y);
element.setX(float x);
element.setY(float y);
element.setDimensions(Vector2f dimensions);
element.setDimensions(float w, float h);
element.setWidth(float width);
element.setHeight(float height);
element.setMinDimensions(new Vector2f(float x, float y));

Расположени/размеры(Positions/Dimensions) для других Связанных методов

Поскольку положение и размеры относятся к родительскому элементу Element, для получения абсолютных координат X, Y, Width и Height предусмотрены дополнительные getters (абсолютные позиции начинаются с экранных координат 0, 0)

element.getAbsoluteX();
element.getAbsoluteY();
element.getAbsoluteWidth();
element.getAbsoluteHeight();

Child Elements

Существуют дополнительные методы, которые обеспечивают рекурсивное обновление дочерних Element:

element.moveTo(float x, float y);
element.resize(float diffX, floar diffY, Element.Borders dir);

Element Методы отображения

el.show();
el.showWithEffect();
el.hide();
el.hideWithEffect();

Hooks

Для behavoirs по умолчанию предусмотрены переопределяемые перехватчики:

public void controlResizeHook() {  }
public void controlMoveHook() {  }
public void controlCleanupHook() {  }

Обрезание(Clipping)

Чтобы элемент был обрезан границами другого элемента, используйте:

el.setClippingLayer(Element element);

Чтобы установить отсекающий слой Element и распространить обрезку на всех дочерних элементов Element, используйте:

el.setControlClippingLayer(Element element);

Доступ к компонентам Element

el.getGeometry(); // Элементы Геометрии
el.getModel(); // Элементы сетки
el.getTextElement(); // BitmapText (null, если setText() ранее не вызывался)

Изменение Материала

Существует множество методов, которые позволяют изменять внешний вид Element:

// Доступ к материалам элементов
el.getElementMaterial();

// Обновление текстуры:
el.setColorMap(String imgPath); // Чтобы изменить базовую текстуру элемента
el.setAlphaMap(String imgPath); // Чтобы установить alphamap элемента

// Использование градиентных заливок:
el.getModel().setGradientFillHorizontal(ColorRGBA start, ColorRGBA end);
el.getModel().setGradientFillVertical(ColorRGBA start, ColorRGBA end);

// Определение цвета каждой вершины
el.getModel().setColorBuffer(FloatBuffer colors);

// Настройка alpha элемента
el.setGlobalAlpha(float alpha);

Методы, связанные с Effect

el.addEffect(Effect effect);
el.removeEffect(Effect.EffectEvent effectEvent);
el.populateEffects(String styleName); // Загружает все эффекты, связанные со стилем

Методы Drag & Drop

el.setIsDragDropDragElement(boolean isDragElement);
el.setIsDragDropDropElement(boolean isDropElement);

// Для получения текущего объекта drop под элементом, используйте:
screen.getDropObject();
Вы должны управлять своим собственным списком приемлемых объектов drop, так как будет возвращен любой элемент, помеченный как isDropObject.

Хранение и получение пользовательских данных

el.setElementUserData(Object data);
el.getElementUserData();

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

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

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