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...
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à
clip_contents |
|
|
|
||
|
||
|
||
propagate_maximum_size |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
void |
ensure_control_visible(control: Control) |
Proprietà del tema
|
||
|
||
|
||
|
||
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
Si comporta come SCROLL_MODE_AUTO, ma fa in modo che lo ScrollContainer riporti una dimensione minima in base al suo contenuto (limitata da Control.custom_maximum_size quando impostato sull'asse corrispondente). Ciò lo consente di espandersi prima e di iniziare a scorrere solo una volta raggiunto il limite.
enum ScrollHintMode: 🔗
ScrollHintMode SCROLL_HINT_MODE_DISABLED = 0
Gli indicatori di scorrimento non appariranno mai.
ScrollHintMode SCROLL_HINT_MODE_ALL = 1
Gli indicatori di scorrimento appariranno in alto e in basso (se verticale) oppure a sinistra e a destra (se orizzontale).
ScrollHintMode SCROLL_HINT_MODE_TOP_AND_LEFT = 2
Gli indicatori di scorrimento appariranno in alto (se verticale) oppure a sinistra (se orizzontale).
ScrollHintMode SCROLL_HINT_MODE_BOTTOM_AND_RIGHT = 3
Gli indicatori di scorrimento appariranno in basso (se verticale) oppure a sinistra (se orizzontale).
Descrizioni delle proprietà
bool draw_focus_border = false 🔗
Se true, focus viene disegnato quando lo ScrollContainer o uno dei suoi nodi discendenti è attivo.
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 🔗
void set_horizontal_scroll_mode(value: ScrollMode)
ScrollMode get_horizontal_scroll_mode()
Controlla se la barra di scorrimento orizzontale si può utilizzare e quando deve essere visibile.
Zona morta per lo scorrimento touch. Una zona morta più bassa rende lo scorrimento più sensibile.
ScrollHintMode scroll_hint_mode = 0 🔗
void set_scroll_hint_mode(value: ScrollHintMode)
ScrollHintMode get_scroll_hint_mode()
Il modo in cui appaiono gli indicatori di scorrimento (indicatori che mostrano che il contenuto si può ancora scorrere in una determinata direzione).
Nota: Gli indicatori non appariranno se il contenuto si può scorrere sia verticalmente sia orizzontalmente.
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 🔗
Se true, la rotellina del mouse scorre la vista orizzontalmente, mentre tenendo premuto Shift la scorre verticalmente.
Se false (predefinito), la rotellina del mouse scorre la vista verticalmente, mentre tenendo premuto Shift la scorre orizzontalmente.
float scroll_horizontal_custom_step = -1.0 🔗
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.
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 🔗
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 🔗
Se true, la texture degli indicatori di scorrimento sarà ripetuta anziché allungata. Vedi scroll_hint_mode.
ScrollMode vertical_scroll_mode = 1 🔗
void set_vertical_scroll_mode(value: ScrollMode)
ScrollMode get_vertical_scroll_mode()
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 utilizzato per modulare la texture scroll_hint_horizontal.
Color scroll_hint_vertical_color = Color(0, 0, 0, 1) 🔗
Color utilizzato per modulare la texture scroll_hint_vertical.
int scrollbar_h_separation = 0 🔗
Lo spazio tra la barra di scorrimento verticale dello ScrollContainer e il suo contenuto, in pixel. Nessuno spazio sarà aggiunto se la dimensione minima del contenuto è maggiore della dimensione dello ScrollContainer.
int scrollbar_v_separation = 0 🔗
Lo spazio tra la barra di scorrimento orizzontale dello ScrollContainer e il suo contenuto, in pixel. Nessuno spazio sarà aggiunto se la dimensione minima del contenuto è maggiore della dimensione dello ScrollContainer.
Texture2D scroll_hint_horizontal 🔗
L'indicatore che apparirà quando il contenuto si può ancora scorrere orizzontalmente. Vedi scroll_hint_mode.
Texture2D scroll_hint_vertical 🔗
L'indicatore che apparirà quando il contenuto si può ancora scorrere verticalmente. Vedi scroll_hint_mode.
La StyleBox di focus del bordo del ScrollContainer. Utilizzata solo se draw_focus_border è true.
Lo StyleBox di sfondo del ScrollContainer.