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: Ширина региона в пикселях..