NinePatchRect

Hérite de : Control < CanvasItem < Node < Object

Un contrôle qui affiche une texture en gardant ses angles intacts, mais en répétant ses bords et son centre.

Description

Aussi connu sous le nom de panneaux à 9 tranches (9-slice panels), NinePatchRect produit des panneaux propres de toute taille en fonction d'une petite texture. Pour ce faire, il divise la texture en une grille de 3×3. Lorsque vous redimensionnez le nœud, il répète les bords de la texture horizontalement ou verticalement, répète le centre sur les deux axes, et laisse les coins inchangés.

Propriétés

AxisStretchMode

axis_stretch_horizontal

0

AxisStretchMode

axis_stretch_vertical

0

bool

draw_center

true

MouseFilter

mouse_filter

2 (overrides Control)

int

patch_margin_bottom

0

int

patch_margin_left

0

int

patch_margin_right

0

int

patch_margin_top

0

Rect2

region_rect

Rect2(0, 0, 0, 0)

Texture2D

texture

Méthodes

int

get_patch_margin(margin: Side) const

void

set_patch_margin(margin: Side, value: int)


Signaux

texture_changed() 🔗

Émis quand la texture d'un nœud change.


Énumérations

enum AxisStretchMode: 🔗

AxisStretchMode AXIS_STRETCH_MODE_STRETCH = 0

Étire la texture du centre sur tout le NinePatchRect. Cela peut entraîner une distorsion de cette texture.

AxisStretchMode AXIS_STRETCH_MODE_TILE = 1

Répète la texture du centre sur tout le NinePatchRect. Cela ne provoque aucune distorsion visible. La texture doit être sans raccord pour que cela fonctionne sans afficher d'artefacts entre les bords.

AxisStretchMode AXIS_STRETCH_MODE_TILE_FIT = 2

Répète la texture centrale sur tout le NinePatchRect, mais étirera également la texture pour s'assurer que chaque tuile est visible entièrement. Cela peut causer une distorsion de la texture, mais moins que AXIS_STRETCH_MODE_STRETCH. La texture doit être sans raccord pour que cela fonctionne sans afficher d'artefacts entre les bords.


Descriptions des propriétés

AxisStretchMode axis_stretch_horizontal = 0 🔗

Le mode d'étirement à utiliser pour l'étirement ou la répétition horizontale.


AxisStretchMode axis_stretch_vertical = 0 🔗

Le mode d'étirement à utiliser pour l'étirement ou la répétition verticale.


bool draw_center = true 🔗

  • void set_draw_center(value: bool)

  • bool is_draw_center_enabled()

Si true, dessine le centre du panneau. Sinon, ne dessine que les bordures des 9 parties.


int patch_margin_bottom = 0 🔗

  • void set_patch_margin(margin: Side, value: int)

  • int get_patch_margin(margin: Side) const

La hauteur de la ligne du bas des 9 parties. Une marge de 16 signifie que les angles du bas des 9 parties et les côtés auront une hauteur de 16 pixels. Vous pouvez définir les 4 valeurs de marge individuellement pour créer des panneaux avec des bordures non uniformes.


int patch_margin_left = 0 🔗

  • void set_patch_margin(margin: Side, value: int)

  • int get_patch_margin(margin: Side) const

La largeur de la colonne gauche des 9 parties. Une marge de 16 signifie que les angles de gauche des 9 parties et les côtés auront une largeur de 16 pixels. Vous pouvez définir les 4 valeurs de marge individuellement pour créer des panneaux avec des bordures non uniformes.


int patch_margin_right = 0 🔗

  • void set_patch_margin(margin: Side, value: int)

  • int get_patch_margin(margin: Side) const

La largeur de la colonne droite de 9 parties. Une marge de 16 signifie que les angles de droite des 9 parties et le côté auront une largeur de 16 pixels. Vous pouvez définir les 4 valeurs de marge individuellement pour créer des panneaux avec des bordures non uniformes.


int patch_margin_top = 0 🔗

  • void set_patch_margin(margin: Side, value: int)

  • int get_patch_margin(margin: Side) const

La hauteur de la ligne du haut de 9 parties. Une marge de 16 signifie que les angles du haut des 9 parties et le côté auront une hauteur de 16 pixels. Vous pouvez définir les 4 valeurs de marge individuellement pour créer des panneaux avec des bordures non uniformes.


Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗

  • void set_region_rect(value: Rect2)

  • Rect2 get_region_rect()

La région rectangulaire de la texture à utiliser. Si vous travaillez avec un atlas, utilisez cette propriété pour définir la zone à utiliser. Toutes les autres propriétés sont par rapport à celle-ci. Si le rectangle est vide, le NinePatchRect utilisera la texture dans son entièreté.


Texture2D texture 🔗

La ressource de texture du nœud.


Descriptions des méthodes

int get_patch_margin(margin: Side) const 🔗

Renvoie la taille de la marge sur le côté Side spécifié.


void set_patch_margin(margin: Side, value: int) 🔗

Définit la taille de la marge sur le côté Side spécifié à value pixels.