NinePatchRect

Eredita: Control < CanvasItem < Node < Object

Un controllo che visualizza una texture mantenendone intatti gli angoli, ma piastrellandone i bordi e il centro.

Descrizione

Noto anche come pannello a 9 sezioni, NinePatchRect produce pannelli puliti di qualsiasi dimensioni basati su una piccola texture. Per farlo, divide la texture in una griglia 3×3. Quando si ridimensiona il nodo, piastrella i bordi della texture orizzontalmente o verticalmente, piastrella il centro su entrambi gli assi e lascia gli angoli invariati.

Proprietà

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

Metodi

int

get_patch_margin(margin: Side) const

void

set_patch_margin(margin: Side, value: int)


Segnali

texture_changed() 🔗

Emesso quando la texture del nodo cambia.


Enumerazioni

enum AxisStretchMode: 🔗

AxisStretchMode AXIS_STRETCH_MODE_STRETCH = 0

Estende la texture centrale lungo il NinePatchRect. Ciò potrebbe causare una distorsione della texture.

AxisStretchMode AXIS_STRETCH_MODE_TILE = 1

Ripete la texture centrale lungo il NinePatchRect. Ciò non causerà alcuna distorsione evidente. La texture deve essere continua affinché funzioni senza visualizzare artefatti tra i bordi.

AxisStretchMode AXIS_STRETCH_MODE_TILE_FIT = 2

Ripete la texture centrale lungo il NinePatchRect, ma estende anche la texture per assicurarsi che ogni ripetizione sia visibile per intero. Ciò potrebbe causare una distorsione della texture, ma inferiore a AXIS_STRETCH_MODE_STRETCH. La texture deve essere continua affinché funzioni senza visualizzare artefatti tra i bordi.


Descrizioni delle proprietà

AxisStretchMode axis_stretch_horizontal = 0 🔗

La modalità di stiramento da usare per stirare/ripetere la texture orizzontalmente.


AxisStretchMode axis_stretch_vertical = 0 🔗

La modalità di stiramento da usare per stirare/ripetere la texture verticalmente.


bool draw_center = true 🔗

  • void set_draw_center(value: bool)

  • bool is_draw_center_enabled()

Se true, disegna il centro del pannello. Altrimenti, disegna solo i bordi delle 9 sezioni.


int patch_margin_bottom = 0 🔗

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

  • int get_patch_margin(margin: Side) const

L'altezza della riga inferiore del pannello a 9-sezioni. Un margine di 16 significa che il lato e gli angoli inferiori del pannello avranno un'altezza di 16 pixel. Puoi impostare tutti e 4 i valori di margine individualmente per creare pannelli con bordi non uniformi.


int patch_margin_left = 0 🔗

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

  • int get_patch_margin(margin: Side) const

La larghezza della colonna sinistra del pannello a 9-sezioni. Un margine di 16 significa che il lato e gli angoli sinistri del pannello avranno una larghezza di 16 pixel. Puoi impostare tutti e 4 i valori di margine individualmente per creare pannelli con bordi non uniformi.


int patch_margin_right = 0 🔗

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

  • int get_patch_margin(margin: Side) const

La larghezza della colonna destra del pannello a 9-sezioni. Un margine di 16 significa che il lato e gli angoli destri del pannello avranno una larghezza di 16 pixel. Puoi impostare tutti e 4 i valori di margine individualmente per creare pannelli con bordi non uniformi.


int patch_margin_top = 0 🔗

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

  • int get_patch_margin(margin: Side) const

L'altezza della riga superiore del pannello a 9-sezioni. Un margine di 16 significa che il lato e gli angoli superiori del pannello avranno un'altezza di 16 pixel. Puoi impostare tutti e 4 i valori di margine individualmente per creare pannelli con bordi non uniformi.


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

  • void set_region_rect(value: Rect2)

  • Rect2 get_region_rect()

Regione rettangolare della texture da utilizzare. Se stai lavorando con un atlante, usa questa proprietà per definire l'area che il pannello a 9-slice dovrebbe usare. Tutte le altre proprietà sono relative a questa. Se il rettangolo è vuoto, NinePatchRect userà l'intera texture.


Texture2D texture 🔗

La risorsa texture del nodo.


Descrizioni dei metodi

int get_patch_margin(margin: Side) const 🔗

Restituisce la dimensione del margine sul lato specificato come Side.


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

Imposta la dimensione del margine sul lato specificato come Side a value in pixel.