Frames de Rolagem

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Uma ScrollingFrame consiste em uma tela personalizável e barras de rolagem com interatividade de rolagem embutida e diferentes maneiras de personalizar como a rolagem funciona. A ScrollingFrame é ideal para exibir muitas informações em um espaço confinado e funciona bem com layouts de lista e grade.

Exemplo de ScrollingFrame na tela contendo uma barra de categorias com abas e uma lista de itens mágicos para o jogador considerar a compra.

Tela

A tela é a área principal de uma ScrollingFrame que pode conter outros GuiObjects. O comportamento de rolagem se adapta automaticamente nas seguintes situações:

Configuração do FrameResultado
O CanvasSize do frame é mais alto que sua altura total; especificamente, o total de CanvasSize.Y excede o total de Size.Y.A rolagem vertical é ativada e uma barra de rolagem vertical aparece.
O CanvasSize do frame é mais largo que sua largura total; especificamente, o total de CanvasSize.X excede o total de Size.X.A rolagem horizontal é ativada e uma barra de rolagem horizontal aparece.
O AutomaticCanvasSize do frame está definido como Y ou XY e a altura total de seu conteúdo (filhos GuiObjects) excede o total de Size.Y.A rolagem vertical é ativada e uma barra de rolagem vertical aparece.
O AutomaticCanvasSize do frame está definido como X ou XY e a largura total de seu conteúdo (filhos GuiObjects) excede o total de Size.X.A rolagem horizontal é ativada e uma barra de rolagem horizontal aparece.

A propriedade CanvasPosition reflete o atual deslocamento posicional da tela dentro do frame, em pixels, e define a posição das barras de rolagem de acordo. Observe que esta propriedade não faz nada se as barras de rolagem não estiverem visíveis.

Insetos

O CanvasSize de um frame de rolagem pode ser afetado pelas propriedades VerticalScrollBarInset e/ou HorizontalScrollBarInset. No diagrama de exemplo a seguir, um frame de rolagem vertical usa uma largura de tela de 100%. Com VerticalScrollBarInset definido como None (padrão), a tela se estende até a largura total do frame de rolagem, obscurecendo uma pequena quantidade de conteúdo sob a barra de rolagem. Em contraste, uma configuração de VerticalScrollBarInset de Always ou ScrollBar insere a tela pela quantidade de ScrollBarThickness para que a tela se encontre de borda a borda com a barra de rolagem.

Barras de Rolagem

As barras de rolagem do frame refletem a posição atual da tela e fornecem interatividade automática de arrastar para rolar. Para barras de rolagem verticais, a propriedade VerticalScrollBarPosition muda a posição da barra para a esquerda ou direita da tela, mas as barras de rolagem horizontais só podem ser posicionadas abaixo da tela.

A construção da barra de rolagem consiste em três propriedades de ativos:

  • TopImage — Exibe na parte superior de uma barra de rolagem vertical, ou à esquerda de uma barra de rolagem horizontal (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).
  • MidImage — Abrange a área entre TopImage e BottomImage (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).
  • BottomImage — Exibe na parte inferior de uma barra de rolagem vertical, ou à direita de uma barra de rolagem horizontal (rotacionada 90° no sentido anti-horário para uma barra de rolagem horizontal).
Diagrama mostrando os três elementos de imagem que constroem a barra de rolagem de um frame de rolagem.

Cada imagem escala com base na propriedade ScrollBarThickness que muda a largura de uma barra de rolagem vertical ou a altura de uma barra de rolagem horizontal.

Modificações visuais adicionais podem ser feitas através das propriedades ScrollBarImageColor3 e ScrollBarImageTransparency que colorem os ativos de imagem da barra e modificam sua opacidade, respectivamente.

Recorte

By default, GuiObject containers clip their content (descendant GuiObjects) through the ClipsDescendants boolean. If you want descendants to appear outside of a container's bounds, simply set ClipsDescendants to false.

Importantly, StarterGui.ClipsDescendantsSupportsRotation must be true for clipping to work on rotated descendants (non‑zero Rotation) within the container. However, clipping by a rotated container (clipping container itself is rotated) or by rounded corners (UICorner) is not supported. If you need clipping on rotated or rounded containers, consider CanvasGroup.

Elasticidade

Por padrão, ScrollingFrames exibem um comportamento de rolagem elástica em dispositivos com toque, o que significa que os usuários podem arrastar a tela um pouco além de seus limites e, ao soltar, a tela retornará ao seu limite mínimo ou máximo. Se você quiser remover completamente o comportamento elástico e garantir que a tela nunca role além de seus limites, defina a propriedade ElasticBehavior como Never.

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.