Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 пикселей.