Перейти к содержанию

TextureRegion

Неизменяемая прямоугольная UV-область внутри родительской текстуры для отрисовки спрайтов из атласов.

Обзор

TextureRegion функционирует как стандартный TextureHandle, представляя прямоугольную под-область атласа или спрайт-листа, что позволяет виджетам отрисовывать отдельные спрайты с правильными пропорциями.

Фабричные методы

Регионы можно создавать по нормализованным UV-координатам (ofUv), пиксельным координатам (ofPixels) или номеру ячейки равномерной сетки (ofCell).

Композиция и вложенность UV

Регионы поддерживают прозрачную вложенность: регион от региона или от AnimatedTexture автоматически комбинирует UV-координаты относительно корневой физической текстуры.

Извлечение спрайта по пикселям

TextureHandle sword = TextureRegion.ofPixels(atlas, 32, 0, 16, 16);
scope.texture(sword, x, y, 32.0f, 32.0f, Paint.NONE);

Извлечение ячейки по индексу сетки

TextureHandle icon = TextureRegion.ofCell(sheet, 8, 8, 35);
scope.texture(icon, x, y, 16.0f, 16.0f, Paint.NONE);

Связанные ссылки

  • AnimatedTexture: Изменяемая текстура sprite sheet, кадры которой сменяются по игровым тикам из равномерной сетки ячеек.
  • NineSlice: Определение масштабируемой 9-patch текстуры: 4 неизменяемых угла, 4 растягиваемых края и 1 центральная область.
  • TextureHandle: Backend-нейтральный интерфейс текстурного ресурса, предоставляющий размеры, параметры сэмплирования и доступ к нативному объекту.

API

TextureRegion(TextureHandle, float, float, float, float)

Создает регион текстуры в нормализованных UV-координатах относительно родителя.

Параметр Тип Описание
parent TextureHandle Дескриптор родительской текстуры.
u float Начальная координата U (0..1).
v float Начальная координата V (0..1).
uWidth float Ширина области по U (0..1).
vHeight float Высота области по V (0..1).

TextureRegion::base()

Возвращает базовый дескриптор физической текстуры.

Возвращает TextureHandle: Дескриптор базовой текстуры..

TextureRegion::height()

Возвращает высоту региона в физических пикселях относительно родителя.

Возвращает int: Высота региона в пикселях..

TextureRegion::id()

Возвращает идентификатор ресурса родительской текстуры.

Возвращает String: Строковый идентификатор текстуры..

TextureRegion::nativeHandle()

Возвращает низкоуровневый дескриптор платформы родительской текстуры.

Возвращает Object: Дескриптор текстуры платформы..

TextureRegion::ofCell(TextureHandle, int, int, int)

Фабричный метод извлечения одной ячейки из равномерной сетки sprite sheet по индексу ячейки.

Параметр Тип Описание
parent TextureHandle Дескриптор родительской текстуры.
cellWidth int Ширина ячейки сетки в пикселях.
cellHeight int Высота ячейки сетки в пикселях.
index int Номер ячейки в сетке.

Возвращает TextureRegion: Созданный экземпляр TextureRegion..

TextureRegion::ofPixels(TextureHandle, int, int, int, int)

Фабричный метод создания региона по пиксельным координатам и размерам на родительской текстуре.

Параметр Тип Описание
parent TextureHandle Дескриптор родительской текстуры.
x int Левая координата в пикселях.
y int Верхняя координата в пикселях.
width int Ширина региона в пикселях.
height int Высота региона в пикселях.

Возвращает TextureRegion: Созданный экземпляр TextureRegion..

TextureRegion::ofUv(TextureHandle, float, float, float, float)

Фабричный метод создания региона текстуры в нормализованных UV-координатах.

Параметр Тип Описание
parent TextureHandle Дескриптор родительской текстуры.
u float Начальная координата U (0..1).
v float Начальная координата V (0..1).
uWidth float Ширина области по U (0..1).
vHeight float Высота области по V (0..1).

Возвращает TextureRegion: Созданный экземпляр TextureRegion..

TextureRegion::options()

Возвращает параметры выборки родительской текстуры.

Возвращает TextureOptions: Параметры выборки текстуры..

TextureRegion::parent()

Возвращает дескриптор родительской текстуры, содержащей данный регион.

Возвращает TextureHandle: Дескриптор родительской текстуры..

TextureRegion::resolveUv(MutableRect)

Вычисляет составные UV-координаты для данного региона относительно корневой физической текстуры.

Параметр Тип Описание
out MutableRect Изменяемый прямоугольник для записи вычисленных UV-координат.

Возвращает boolean: true, если вычисление UV выполнено успешно..

TextureRegion::u()

Возвращает нормализованную начальную координату U внутри родительской текстуры.

Возвращает float: Нормализованная координата начала по U..

TextureRegion::uWidth()

Возвращает нормализованную ширину области по U внутри родительской текстуры.

Возвращает float: Нормализованная ширина по U..

TextureRegion::v()

Возвращает нормализованную начальную координату V внутри родительской текстуры.

Возвращает float: Нормализованная координата начала по V..

TextureRegion::vHeight()

Возвращает нормализованную высоту области по V внутри родительской текстуры.

Возвращает float: Нормализованная высота по V..

TextureRegion::width()

Возвращает ширину региона в физических пикселях относительно родителя.

Возвращает int: Ширина региона в пикселях..