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.

ScrollContainer

Eredita: Container < Control < CanvasItem < Node < Object

Ereditato da: EditorInspector

Un contenitore utilizzato per fornire barre di scorrimento a un controllo figlio quando necessario.

Descrizione

Un contenitore utilizzato per fornire barre di scorrimento a un controllo figlio quando necessario. Le barre di scorrimento saranno automaticamente disegnate a destra (per verticale) o in basso (per orizzontale) e consentiranno il trascinamento per spostare il controllo visualizzabile (e i suoi figli) all'interno dello ScrollContainer. Le barre di scorrimento ridimensioneranno anche automaticamente il grabber in base al Control.custom_minimum_size del controllo rispetto al contenitore.

Tutorial

Proprietà

bool

clip_contents

true (overrides Control)

bool

draw_focus_border

false

bool

follow_focus

false

ScrollMode

horizontal_scroll_mode

1

bool

propagate_maximum_size

false (overrides Control)

int

scroll_deadzone

0

ScrollHintMode

scroll_hint_mode

0

int

scroll_horizontal

0

bool

scroll_horizontal_by_default

false

float

scroll_horizontal_custom_step

-1.0

int

scroll_vertical

0

float

scroll_vertical_custom_step

-1.0

bool

tile_scroll_hint

false

ScrollMode

vertical_scroll_mode

1

Metodi

void

ensure_control_visible(control: Control)

HScrollBar

get_h_scroll_bar()

VScrollBar

get_v_scroll_bar()

Proprietà del tema

Color

scroll_hint_horizontal_color

Color(0, 0, 0, 1)

Color

scroll_hint_vertical_color

Color(0, 0, 0, 1)

int

scrollbar_h_separation

0

int

scrollbar_v_separation

0

Texture2D

scroll_hint_horizontal

Texture2D

scroll_hint_vertical

StyleBox

focus

StyleBox

panel


Segnali

scroll_ended() 🔗

Emesso quando lo scorrimento viene interrotto quando si trascina l'area scorrevole con un evento touch. Questo segnale non viene emesso quando si scorre trascinando la barra di scorrimento, scorrendo con la rotellina del mouse o scorrendo con eventi da tastiera o gamepad.

Nota: Questo segnale viene emesso solo su Android o iOS, o su piattaforme desktop o web quando ProjectSettings.input_devices/pointing/emulate_touch_from_mouse è abilitato.


scroll_started() 🔗

Emesso quando lo scorrimento viene iniziato quando si trascina l'area scorrevole con un evento touch. Questo segnale non viene emesso quando si scorre trascinando la barra di scorrimento, scorrendo con la rotellina del mouse o scorrendo con eventi da tastiera o gamepad.

Nota: Questo segnale viene emesso solo su Android o iOS, o su piattaforme desktop o web quando ProjectSettings.input_devices/pointing/emulate_touch_from_mouse è abilitato.


Enumerazioni

enum ScrollMode: 🔗

ScrollMode SCROLL_MODE_DISABLED = 0

Scorrimento disabilitato, la barra di scorrimento sarà invisibile.

ScrollMode SCROLL_MODE_AUTO = 1

Scorrimento abilitato, la barra di scorrimento sarà visibile solo se necessario, ovvero se il contenuto del contenitore è più grande del contenitore stesso.

ScrollMode SCROLL_MODE_SHOW_ALWAYS = 2

Scorrimento abilitato, la barra di scorrimento sarà sempre visibile.

ScrollMode SCROLL_MODE_SHOW_NEVER = 3

Scorrimento abilitato, la barra di scorrimento sarà nascosta.

ScrollMode SCROLL_MODE_RESERVE = 4

Combina SCROLL_MODE_AUTO e SCROLL_MODE_SHOW_ALWAYS. La barra di scorrimento è visibile solo se necessario, ma la dimensione del contenuto è regolata come se fosse sempre visibile. È utile per garantire che la dimensione del contenuto rimanga la stessa, a prescindere dalla visibilità della barra di scorrimento.

ScrollMode SCROLL_MODE_MAXIMIZE_FIRST = 5

Behaves like SCROLL_MODE_AUTO, but makes the ScrollContainer report a minimum size based on its content (limited by Control.custom_maximum_size when set on the corresponding axis). This allows it to grow first and only start scrolling once constrained.


enum ScrollHintMode: 🔗

ScrollHintMode SCROLL_HINT_MODE_DISABLED = 0

Scroll hints will never be shown.

ScrollHintMode SCROLL_HINT_MODE_ALL = 1

Scroll hints will be shown at the top and bottom (if vertical), or left and right (if horizontal).

ScrollHintMode SCROLL_HINT_MODE_TOP_AND_LEFT = 2

Scroll hints will be shown at the top (if vertical), or the left (if horizontal).

ScrollHintMode SCROLL_HINT_MODE_BOTTOM_AND_RIGHT = 3

Scroll hints will be shown at the bottom (if horizontal), or the right (if horizontal).


Descrizioni delle proprietà

bool draw_focus_border = false 🔗

  • void set_draw_focus_border(value: bool)

  • bool get_draw_focus_border()

Se true, focus viene disegnato quando lo ScrollContainer o uno dei suoi nodi discendenti è attivo.


bool follow_focus = false 🔗

  • void set_follow_focus(value: bool)

  • bool is_following_focus()

Se true, il contenitore scorrerà automaticamente fino agli elementi figlio selezionati (inclusi quelli indiretti) per assicurarsi che siano completamente visibili.


ScrollMode horizontal_scroll_mode = 1 🔗

Controlla se la barra di scorrimento orizzontale si può utilizzare e quando deve essere visibile.


int scroll_deadzone = 0 🔗

  • void set_deadzone(value: int)

  • int get_deadzone()

Zona morta per lo scorrimento touch. Una zona morta più bassa rende lo scorrimento più sensibile.


ScrollHintMode scroll_hint_mode = 0 🔗

The way which scroll hints (indicators that show that the content can still be scrolled in a certain direction) will be shown.

Note: Hints won't be shown if the content can be scrolled both vertically and horizontally.


int scroll_horizontal = 0 🔗

  • void set_h_scroll(value: int)

  • int get_h_scroll()

Il valore attuale dello scorrimento orizzontale.

Nota: Se si imposta questo valore nella funzione Node._ready() o in precedenza, è necessario racchiuderlo con Object.set_deferred(), poiché il valore Range.max_value della barra di scorrimento non è ancora inizializzato.

func _ready():
    set_deferred("scroll_horizontal", 600)

bool scroll_horizontal_by_default = false 🔗

  • void set_scroll_horizontal_by_default(value: bool)

  • bool is_scroll_horizontal_by_default()

If true, the mouse wheel scrolls the view horizontally, and holding Shift scrolls vertically.

If false (default), the mouse wheel scrolls the view vertically, and holding Shift scrolls horizontally.


float scroll_horizontal_custom_step = -1.0 🔗

  • void set_horizontal_custom_step(value: float)

  • float get_horizontal_custom_step()

Sostituisce il ScrollBar.custom_step utilizzato quando si clicca sui pulsanti di incremento e decremento orizzontale della barra di scorrimento interna o quando si utilizzano i tasti freccia quando la ScrollBar è attiva.


int scroll_vertical = 0 🔗

  • void set_v_scroll(value: int)

  • int get_v_scroll()

Il valore attuale dello scorrimento verticale.

Nota: Impostarlo in anticipo deve essere differito, proprio come in scroll_horizontal.

func _ready():
    set_deferred("scroll_vertical", 600)

float scroll_vertical_custom_step = -1.0 🔗

  • void set_vertical_custom_step(value: float)

  • float get_vertical_custom_step()

Sostituisce il ScrollBar.custom_step utilizzato quando si clicca sui pulsanti di incremento e decremento verticale della barra di scorrimento interna o quando si utilizzano i tasti freccia quando la ScrollBar è attiva.


bool tile_scroll_hint = false 🔗

  • void set_tile_scroll_hint(value: bool)

  • bool is_scroll_hint_tiled()

If true, the scroll hint texture will be tiled instead of stretched. See scroll_hint_mode.


ScrollMode vertical_scroll_mode = 1 🔗

Controlla se la barra di scorrimento verticale si può utilizzare e quando deve essere visibile.


Descrizioni dei metodi

void ensure_control_visible(control: Control) 🔗

Assicura che il control specificato sia visibile (deve essere un figlio diretto o indiretto di questo contenitore). Usato da follow_focus.

Nota: Questo non funzionerà su un nodo che è stato appena aggiunto durante lo stesso frame. Se vuoi scorrere fino a un figlio appena aggiunto, devi attendere fino al frame successivo usando SceneTree.process_frame:

add_child(child_node)
await get_tree().process_frame
ensure_control_visible(child_node)

HScrollBar get_h_scroll_bar() 🔗

Restituisce la barra di scorrimento orizzontale HScrollBar di questo ScrollContainer.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nascondere una barra di scorrimento, puoi usare CanvasItem.visible.


VScrollBar get_v_scroll_bar() 🔗

Restituisce la barra di scorrimento verticale VScrollBar di questo ScrollContainer.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nascondere una barra di scorrimento, puoi usare CanvasItem.visible.


Descrizioni delle proprietà del tema

Color scroll_hint_horizontal_color = Color(0, 0, 0, 1) 🔗

Color used to modulate the scroll_hint_horizontal texture.


Color scroll_hint_vertical_color = Color(0, 0, 0, 1) 🔗

Color used to modulate the scroll_hint_vertical texture.


int scrollbar_h_separation = 0 🔗

The space between the ScrollContainer's vertical scroll bar and its content, in pixels. No space will be added when the content's minimum size is larger than the ScrollContainer's size.


int scrollbar_v_separation = 0 🔗

The space between the ScrollContainer's horizontal scroll bar and its content, in pixels. No space will be added when the content's minimum size is larger than the ScrollContainer's size.


Texture2D scroll_hint_horizontal 🔗

The indicator that will be shown when the content can still be scrolled horizontally. See scroll_hint_mode.


Texture2D scroll_hint_vertical 🔗

The indicator that will be shown when the content can still be scrolled vertically. See scroll_hint_mode.


StyleBox focus 🔗

La StyleBox di focus del bordo del ScrollContainer. Utilizzata solo se draw_focus_border è true.


StyleBox panel 🔗

Lo StyleBox di sfondo del ScrollContainer.