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.

StyleBoxFlat

Eredita: StyleBox < Resource < RefCounted < Object

Uno StyleBox personalizzabile che non utilizza una texture.

Descrizione

Configurando varie proprietà di questo style box, puoi ottenere molti aspetti comuni senza la necessità di una texture. Ciò include bordi arrotondati facoltativi, antialiasing, ombre e inclinazione.

È consentito impostare il raggio degli angoli su valori elevati. Non appena gli angoli si sovrappongono, lo style box passerà a un sistema relativo.

height = 30
corner_radius_top_left = 50
corner_radius_bottom_left = 100

Il sistema relativo ora prenderebbe il rapporto 1:2 dei due angoli sinistri per calcolare la larghezza effettiva degli angoli. Entrambi gli angoli aggiunti non saranno mai maggiori dell'altezza. Risultato:

corner_radius_top_left: 10
corner_radius_bottom_left: 20

Proprietà

bool

anti_aliasing

true

float

anti_aliasing_size

1.0

Color

bg_color

Color(0.6, 0.6, 0.6, 1)

bool

border_blend

false

Color

border_color

Color(0.8, 0.8, 0.8, 1)

int

border_width_bottom

0

int

border_width_left

0

int

border_width_right

0

int

border_width_top

0

int

corner_detail

8

int

corner_radius_bottom_left

0

int

corner_radius_bottom_right

0

int

corner_radius_top_left

0

int

corner_radius_top_right

0

bool

draw_center

true

float

expand_margin_bottom

0.0

float

expand_margin_left

0.0

float

expand_margin_right

0.0

float

expand_margin_top

0.0

Color

shadow_color

Color(0, 0, 0, 0.6)

Vector2

shadow_offset

Vector2(0, 0)

int

shadow_size

0

Vector2

skew

Vector2(0, 0)

Metodi

int

get_border_width(margin: Side) const

int

get_border_width_min() const

int

get_corner_radius(corner: Corner) const

float

get_expand_margin(margin: Side) const

void

set_border_width(margin: Side, width: int)

void

set_border_width_all(width: int)

void

set_corner_radius(corner: Corner, radius: int)

void

set_corner_radius_all(radius: int)

void

set_expand_margin(margin: Side, size: float)

void

set_expand_margin_all(size: float)


Descrizioni delle proprietà

bool anti_aliasing = true 🔗

  • void set_anti_aliased(value: bool)

  • bool is_anti_aliased()

L'antialiasing disegna un piccolo anello attorno ai bordi, che sfuma in trasparenza. Di conseguenza, i bordi appaiono molto più lisci. Ciò è evidente solo quando si usano angoli arrotondati o skew.

Nota: Quando si usano angoli smussati con angoli di 45 gradi (corner_detail = 1), si consiglia di impostare anti_aliasing su false per garantire immagini nitide ed evitare possibili problemi visivi.


float anti_aliasing_size = 1.0 🔗

  • void set_aa_size(value: float)

  • float get_aa_size()

Questo modifica la dimensione dell'effetto antialiasing. 1.0 è consigliato per un risultato ottimale al 100% di scala, identico a come sono renderizzati i rettangoli arrotondati nei browser Web e nella maggior parte dei software di disegno vettoriale.

Nota: Valori più alti possono produrre un effetto sfocato ma possono anche creare artefatti indesiderati su piccoli style box con angoli di ampio raggio.


Color bg_color = Color(0.6, 0.6, 0.6, 1) 🔗

  • void set_bg_color(value: Color)

  • Color get_bg_color()

Il colore di sfondo dello stylebox.


bool border_blend = false 🔗

  • void set_border_blend(value: bool)

  • bool get_border_blend()

Se true, il bordo sfumerà nel colore dello sfondo.


Color border_color = Color(0.8, 0.8, 0.8, 1) 🔗

  • void set_border_color(value: Color)

  • Color get_border_color()

Imposta il colore del bordo.


int border_width_bottom = 0 🔗

  • void set_border_width(margin: Side, width: int)

  • int get_border_width(margin: Side) const

Spessore del bordo inferiore.


int border_width_left = 0 🔗

  • void set_border_width(margin: Side, width: int)

  • int get_border_width(margin: Side) const

Spessore del bordo sinistro.


int border_width_right = 0 🔗

  • void set_border_width(margin: Side, width: int)

  • int get_border_width(margin: Side) const

Spessore del bordo destro.


int border_width_top = 0 🔗

  • void set_border_width(margin: Side, width: int)

  • int get_border_width(margin: Side) const

Spessore del bordo superiore.


int corner_detail = 8 🔗

  • void set_corner_detail(value: int)

  • int get_corner_detail()

Imposta il numero di vertici usati per ogni angolo. Valori più alti risultano in angoli più arrotondati, a scapito delle prestazioni. Quando si sceglie un valore, si dovrebbe tenere in considerazione il raggio dell'angolo (set_corner_radius_all()).

Per raggi d'angolo inferiori a 10, 4 o 5 dovrebbero essere sufficienti. Per raggi d'angolo inferiori a 30, valori compresi tra 8 e 12 dovrebbero essere sufficienti.

Un dettaglio d'angolo di 1 risulterà in angoli smussati invece di angoli arrotondati, il che è utile per alcuni effetti artistici.


int corner_radius_bottom_left = 0 🔗

  • void set_corner_radius(corner: Corner, radius: int)

  • int get_corner_radius(corner: Corner) const

Il raggio dell'angolo inferiore sinistro. Se 0, l'angolo non è arrotondato.


int corner_radius_bottom_right = 0 🔗

  • void set_corner_radius(corner: Corner, radius: int)

  • int get_corner_radius(corner: Corner) const

Il raggio dell'angolo inferiore destro. Se 0, l'angolo non è arrotondato.


int corner_radius_top_left = 0 🔗

  • void set_corner_radius(corner: Corner, radius: int)

  • int get_corner_radius(corner: Corner) const

Il raggio dell'angolo superiore sinistro. Se 0, l'angolo non è arrotondato.


int corner_radius_top_right = 0 🔗

  • void set_corner_radius(corner: Corner, radius: int)

  • int get_corner_radius(corner: Corner) const

Il raggio dell'angolo superiore destro. Se 0, l'angolo non è arrotondato.


bool draw_center = true 🔗

  • void set_draw_center(value: bool)

  • bool is_draw_center_enabled()

Attiva il disegno della parte interna dello stylebox.


float expand_margin_bottom = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

Espande lo stylebox all'esterno del rettangolo di controllo sul lato inferiore. Utile in combinazione con border_width_bottom per disegnare un bordo all'esterno del rettangolo di controllo.

Nota: A differenza di StyleBox.content_margin_bottom, expand_margin_bottom non influenza la dimensione dell'area cliccabile per i Control. Ciò può avere un impatto negativo sull'usabilità se utilizzato in modo errato, poiché l'utente potrebbe provare a cliccare su un'area dello StyleBox che non può effettivamente ricevere clic.


float expand_margin_left = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

Espande lo stylebox all'esterno del rettangolo di controllo sul lato sinistro. Utile in combinazione con border_width_left per disegnare un bordo all'esterno del rettangolo di controllo.

Nota: A differenza di StyleBox.content_margin_left, expand_margin_left non influenza la dimensione dell'area cliccabile per i Control. Ciò può avere un impatto negativo sull'usabilità se utilizzato in modo errato, poiché l'utente potrebbe provare a cliccare su un'area dello StyleBox che non può effettivamente ricevere clic.


float expand_margin_right = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

Espande lo stylebox all'esterno del rettangolo di controllo sul lato destro. Utile in combinazione con border_width_right per disegnare un bordo all'esterno del rettangolo di controllo.

Nota: A differenza di StyleBox.content_margin_right, expand_margin_right non influenza la dimensione dell'area cliccabile per i Control. Ciò può avere un impatto negativo sull'usabilità se utilizzato in modo errato, poiché l'utente potrebbe provare a cliccare su un'area dello StyleBox che non può effettivamente ricevere clic.


float expand_margin_top = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

Espande lo stylebox all'esterno del rettangolo di controllo sul lato superiore. Utile in combinazione con border_width_top per disegnare un bordo all'esterno del rettangolo di controllo.

Nota: A differenza di StyleBox.content_margin_top, expand_margin_top non influenza la dimensione dell'area cliccabile per i Control. Ciò può avere un impatto negativo sull'usabilità se utilizzato in modo errato, poiché l'utente potrebbe provare a cliccare su un'area dello StyleBox che non può effettivamente ricevere clic.


Color shadow_color = Color(0, 0, 0, 0.6) 🔗

  • void set_shadow_color(value: Color)

  • Color get_shadow_color()

Il colore dell'ombra. Non ha effetto se shadow_size è inferiore a 1.


Vector2 shadow_offset = Vector2(0, 0) 🔗

L'offset dell'ombra in pixel. Aggiusta la posizione dell'ombra relativamente allo stylebox.


int shadow_size = 0 🔗

  • void set_shadow_size(value: int)

  • int get_shadow_size()

La dimensione dell'ombra in pixel.


Vector2 skew = Vector2(0, 0) 🔗

Se impostato su un valore diverso da zero su entrambi gli assi, skew distorce lo StyleBox orizzontalmente e/o verticalmente. Può essere utilizzato per interfacce utente in stile "futuristico". I valori positivi inclinano lo StyleBox verso destra (asse X) e verso l'alto (asse Y), mentre i valori negativi inclinano lo StyleBox verso sinistra (asse X) e verso il basso (asse Y).

Nota: Per garantire che il testo non tocchi i bordi dello StyleBox, considera di aumentare il margine del contenuto dello StyleBox (vedi StyleBox.content_margin_bottom). È preferibile aumentare il margine del contenuto anziché il margine di espansione (vedi expand_margin_bottom), poiché l'aumento del margine di espansione non aumenta la dimensione dell'area cliccabile per i Control.


Descrizioni dei metodi

int get_border_width(margin: Side) const 🔗

Restituisce la larghezza del bordo specificato con Side.


int get_border_width_min() const 🔗

Restituisce il bordo più fino tra i quattro bordi.


int get_corner_radius(corner: Corner) const 🔗

Restituisce il raggio dell'angolo corner.


float get_expand_margin(margin: Side) const 🔗

Restituisce la dimensione del margine di espansione del lato specificato con Side.


void set_border_width(margin: Side, width: int) 🔗

Imposta la larghezza del bordo del lato specificato (Side) su width pixel.


void set_border_width_all(width: int) 🔗

Imposta la larghezza del bordo su width pixel per tutti i lati.


void set_corner_radius(corner: Corner, radius: int) 🔗

Imposta il raggio d'angolo su radius pixel per l'angolo corner.


void set_corner_radius_all(radius: int) 🔗

Imposta il raggio dell'angolo su radius pixel per tutti gli angoli.


void set_expand_margin(margin: Side, size: float) 🔗

Imposta il margine di espansione a size pixel per il lato specificato con Side.


void set_expand_margin_all(size: float) 🔗

Imposta il margine di espansione a size pixel per tutti i lati.