ScrollContainer
Hereda: Container < Control < CanvasItem < Node < Object
Heredado por: EditorInspector
Un contenedor utilizado para proporcionar barras de desplazamiento a un control hijo cuando sea necesario.
Descripción
Un contenedor utilizado para proporcionar a un control hijo barras de desplazamiento cuando sea necesario. Las barras de desplazamiento se dibujarán automáticamente a la derecha (para vertical) o abajo (para horizontal) y permitirán arrastrar para mover el Control visible (y sus hijos) dentro del ScrollContainer. Las barras de desplazamiento también cambiarán automáticamente el tamaño del agarrador según el Control.custom_minimum_size del Control en relación con el ScrollContainer.
Tutoriales
Propiedades
clip_contents |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Métodos
void |
ensure_control_visible(control: Control) |
Propiedades del Tema
Señales
scroll_ended() 🔗
Emitida cuando el desplazamiento se detiene al arrastrar el área desplazable con un evento táctil. Esta señal no se emite cuando se desplaza arrastrando la barra de desplazamiento, desplazando con la rueda del ratón o desplazando con eventos de teclado/gamepad.
Nota: Esta señal solo se emite en Android o iOS, o en plataformas de escritorio/web cuando ProjectSettings.input_devices/pointing/emulate_touch_from_mouse está habilitado.
scroll_started() 🔗
Emitida cuando el desplazamiento comienza al arrastrar el área desplazable con un evento táctil. Esta señal no se emite cuando se desplaza arrastrando la barra de desplazamiento, desplazando con la rueda del ratón o desplazando con eventos de teclado/gamepad.
Nota: Esta señal solo se emite en Android o iOS, o en plataformas de escritorio/web cuando ProjectSettings.input_devices/pointing/emulate_touch_from_mouse está habilitado.
Enumeraciones
enum ScrollMode: 🔗
ScrollMode SCROLL_MODE_DISABLED = 0
Desplazamiento desactivado, la barra de desplazamiento estará invisible.
ScrollMode SCROLL_MODE_AUTO = 1
Desplazamiento activado, la barra de desplazamiento estará visible solo si es necesario, es decir, el contenido del contenedor es más grande que el contenedor.
ScrollMode SCROLL_MODE_SHOW_ALWAYS = 2
Desplazamiento activado, la barra de desplazamiento siempre estará visible.
ScrollMode SCROLL_MODE_SHOW_NEVER = 3
Desplazamiento activado, la barra de desplazamiento estará oculta.
ScrollMode SCROLL_MODE_RESERVE = 4
Combina SCROLL_MODE_AUTO y SCROLL_MODE_SHOW_ALWAYS. La barra de desplazamiento solo es visible si es necesario, pero el tamaño del contenido se ajusta como si siempre estuviera visible. Es útil para asegurar que el tamaño del contenido se mantenga igual independientemente de si la barra de desplazamiento está visible.
Descripciones de Propiedades
bool draw_focus_border = false 🔗
Si es true, se dibuja focus cuando el ScrollContainer o uno de sus nodos descendientes está enfocado.
Si es true, el ScrollContainer se desplazará automáticamente hacia los hijos enfocados (incluidos los hijos indirectos) para asegurarse de que sean completamente visibles.
ScrollMode horizontal_scroll_mode = 1 🔗
void set_horizontal_scroll_mode(value: ScrollMode)
ScrollMode get_horizontal_scroll_mode()
Controla si la barra de desplazamiento horizontal puede ser usada y cuándo debería ser visible.
Zona muerta para el desplazamiento táctil. Una zona muerta más baja hace que el desplazamiento sea más sensible.
El valor de desplazamiento horizontal actual.
Nota: Si estás estableciendo este valor en la función Node._ready() o antes, necesita ser envuelto con Object.set_deferred(), ya que Range.max_value de la barra de desplazamiento aún no está inicializado.
func _ready():
set_deferred("scroll_horizontal", 600)
float scroll_horizontal_custom_step = -1.0 🔗
Reemplaza el ScrollBar.custom_step utilizado al hacer clic en los botones de incremento y decremento horizontal de la barra de desplazamiento interna o al usar las teclas de flecha cuando la ScrollBar está enfocada.
El valor de desplazamiento vertical actual.
Nota: Establecerlo antes de tiempo necesita ser diferido, al igual que en scroll_horizontal.
func _ready():
set_deferred("scroll_vertical", 600)
float scroll_vertical_custom_step = -1.0 🔗
Reemplaza el ScrollBar.custom_step utilizado al hacer clic en los botones de incremento y decremento verticales de la barra de desplazamiento interna o al usar las teclas de flecha cuando la ScrollBar está enfocada.
ScrollMode vertical_scroll_mode = 1 🔗
void set_vertical_scroll_mode(value: ScrollMode)
ScrollMode get_vertical_scroll_mode()
Controla si la barra de desplazamiento vertical puede ser usada y cuándo debería ser visible.
Descripciones de Métodos
void ensure_control_visible(control: Control) 🔗
Asegura que el control dado sea visible (debe ser un hijo directo o indirecto del ScrollContainer). Utilizado por follow_focus.
Nota: Esto no funcionará en un nodo que acaba de ser añadido durante el mismo frame. Si quieres desplazarte a un hijo recién añadido, debes esperar hasta el siguiente frame usando SceneTree.process_frame:
add_child(child_node)
await get_tree().process_frame
ensure_control_visible(child_node)
HScrollBar get_h_scroll_bar() 🔗
Devuelve la barra de desplazamiento horizontal HScrollBar de este ScrollContainer.
Advertencia: Este es un nodo interno requerido, eliminarlo y liberarlo puede causar un fallo. Si deseas deshabilitar u ocultar una barra de desplazamiento, puedes usar horizontal_scroll_mode.
VScrollBar get_v_scroll_bar() 🔗
Devuelve la barra de desplazamiento vertical VScrollBar de este ScrollContainer.
Advertencia: Este es un nodo interno requerido, eliminarlo y liberarlo puede causar un fallo. Si deseas deshabilitar u ocultar una barra de desplazamiento, puedes usar vertical_scroll_mode.
Descripciones de las propiedades del tema
El StyleBox del borde de enfoque del ScrollContainer. Solo se usa si draw_focus_border es true.
El fondo StyleBox del ScrollContainer.