NinePatchRect
Наследует: Control < CanvasItem < Node < Object
Элемент управления, который отображает текстуру, сохраняя ее углы нетронутыми, но размещая ее края и центр.
Описание
Также известный как 9-секционные панели, NinePatchRect создает чистые панели любого размера на основе небольшой текстуры. Для этого он разбивает текстуру на сетку 3×3. Когда вы масштабируете узел, он размещает края текстуры по горизонтали или вертикали, размещает центр по обеим осям и оставляет углы неизменными.
Свойства
|
||
|
||
|
||
mouse_filter |
|
|
|
||
|
||
|
||
|
||
|
||
Методы
get_patch_margin(margin: Side) const |
|
void |
set_patch_margin(margin: Side, value: int) |
Сигналы
texture_changed() 🔗
Вызывается при изменении текстуры узла.
Перечисления
enum AxisStretchMode: 🔗
AxisStretchMode AXIS_STRETCH_MODE_STRETCH = 0
Растягивает центральную текстуру по NinePatchRect. Это может привести к искажению текстуры.
AxisStretchMode AXIS_STRETCH_MODE_TILE = 1
Повторяет центральную текстуру по NinePatchRect. Это не вызовет видимых искажений. Текстура должна быть бесшовной, чтобы это работало без отображения артефактов между краями.
AxisStretchMode AXIS_STRETCH_MODE_TILE_FIT = 2
Повторяет центральную текстуру по NinePatchRect, но также растягивает текстуру, чтобы убедиться, что каждый тайл виден полностью. Это может привести к искажению текстуры, но меньше, чем AXIS_STRETCH_MODE_STRETCH. Текстура должна быть бесшовной, чтобы это работало без отображения артефактов между краями.
Описания свойств
AxisStretchMode axis_stretch_horizontal = 0 🔗
void set_h_axis_stretch_mode(value: AxisStretchMode)
AxisStretchMode get_h_axis_stretch_mode()
Режим растяжения, используемый для горизонтального растяжения/тайлинга.
AxisStretchMode axis_stretch_vertical = 0 🔗
void set_v_axis_stretch_mode(value: AxisStretchMode)
AxisStretchMode get_v_axis_stretch_mode()
Режим растяжения, используемый для вертикального растяжения/тайлинга.
Если true, рисуем центр панели. В противном случае рисуем только границы 9-слоя.
Высота нижнего ряда 9-слоя. Поле 16 означает, что нижние углы и сторона 9-слоя будут иметь высоту 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
Ширина левого столбца 9-слоя. Поле 16 означает, что левые углы и сторона 9-слоя будут иметь ширину 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
Ширина правого столбца 9-слоя. Поле 16 означает, что правые углы и сторона 9-слоя будут иметь ширину 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
Высота верхней строки 9-слоя. Поле 16 означает, что верхние углы и сторона 9-слоя будут иметь высоту 16 пикселей. Вы можете задать все 4 значения полей по отдельности, чтобы создавать панели с неравномерными границами.
Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗
Прямоугольная область текстуры для выборки. Если вы работаете с атласом, используйте это свойство для определения области, которую должен использовать 9-срез. Все остальные свойства относятся к этому. Если прямоугольник пуст, NinePatchRect будет использовать всю текстуру.
Ресурс текстуры узла.
Описания метода
int get_patch_margin(margin: Side) const 🔗
Возвращает размер поля на указанной Side.
void set_patch_margin(margin: Side, value: int) 🔗
Устанавливает размер поля на указанной стороне Side равным value пикселей.