Contêineres de UI na tela

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

O contêiner ScreenGui contém GuiObjects para exibir na tela de um jogador, incluindo quadros , rótulos , botões e muito mais.Todos os objetos e códigos de UI na tela são armazenados e alterados no cliente.

Example ScreenGui with various GuiObject children, including a Frame, TextLabel, TextBox, and ImageButton.

Para exibir um ScreenGui e seu filho GuiObjects para cada jogador que se junta à experiência, coloque-o dentro do contêiner StarterGui.Quando um jogador se junta a uma experiência e seu personagem primeiro aparece, o ScreenGui e seu conteúdo clonam no contêiner PlayerGui para aquele jogador, localizado dentro do contêiner Players.

Diagram of how a ScreenGui clones from StarterGui to a player's PlayerGui

À medida que uma experiência cresce em escopo, você pode precisar de várias interfaces de tela, como uma tela de título, menu de configurações, interface da loja e muito mais.Nesses casos, você pode colocar vários contêineres exclusivos ScreenGui dentro de StarterGui e alternar a propriedade de cada contêiner Enabled dependendo de se deve ser visível e ativo (enquanto false , os conteúdos não serão renderizar, processados ou atualizados em resposta a alterações).

Explorer hierarchy showing multiple ScreenGui containers, one enabled and the others disabled, in order to control which are visible at a given time.

A propriedade pode ser inicialmente alternada através da janela Propriedades e/ou você pode defini-la durante o tempo de jogo a partir de um script do lado do cliente, acessando o jogador's e definindo-o para ou para o contêiner desejado.

Propriedades de contêiner

As seguintes propriedades permitem que você personalize os insérts de tela em vários dispositivos, a ordem de exibição ao usar vários contêineres de tela e muito mais.

Inserções de tela

Telefones modernos aproveitam toda a tela, mas geralmente incluem notas, cortes e outros elementos que ocupam espaço na tela.Cada experiência do Roblox também inclui os controles da barra superior para acesso rápido ao menu principal, chat , tabela de classificação e muito mais.

Mobile device showing Roblox top bar buttons and device cutout.

Para garantir que os jogadores possam ver e acessar toda a interface de usuário facilmente e sem obstrução, o Roblox fornece a propriedade que controla os inserções da área segura para o conteúdo de um .

O padrão de CoreUISafeInsets mantém todos os descendentes GuiObjects dentro da área segura da interface do usuário principal, limpa dos botões da barra superior e de outros cortes de tela.Essa configuração é recomendada se o ScreenGui conter elementos interativos de UI.

Mobile device showing the core UI safe area.

Ordem de exibição

Ao usar várias interfaces ScreenGui múltiplas, você pode empilá-las por Z‑index através de sua propriedade DisplayOrder.Por exemplo, para exibir um menu de configurações modais em um ScreenGui à frente da interface principal do usuário da experiência em outro ScreenGui , atribua um maior DisplayOrder ao modal do que a interface subjacente.

Redefinir no Gerar

A propriedade booleana determina se os resets (se reinicia e clona de novo no personagem do jogador) ocorrem sempre que o personagem do jogador respawna.

CondiçãoReinicializações
ResetOnSpawn é true (padrão).
yes
O ScreenGui é um descendente indireto de **** de StarterGui ; por exemplo, é colocado dentro de um Folder localizado dentro de StarterGui .
yes
é e o é um descendente direto de .
no

Acessar a interface do jogador

Como observado, cuidar de um ScreenGui para StarterGui cloná-lo e seu filho GuiObjects em um contêiner de jogador de PlayerGui quando eles se juntam à experiência e seu personagem primeiro aparece.

Se você precisar controlar o contêiner de UI de um jogador durante o tempo de jogo, por exemplo, para mostrar/ocultar um específico ScreenGui ou qualquer um de seus filhos, acesse-o da seguinte forma a partir de um LocalScript :

LocalScript - Acessando um Jogador's UI

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local titleScreen = playerGui:WaitForChild("TitleScreen")
local settingsMenu = playerGui:WaitForChild("SettingsMenu")
titleScreen.Enabled = false -- Esconder tela de título
settingsMenu.Enabled = true -- Show settings menu

Desabilitar UI padrão

Todas as experiências do Roblox incluem vários elementos de UI que são habilitados por padrão.Se você não precisar de nenhum desses elementos ou quiser substituí-los por suas próprias criações, você pode usar o método SetCoreGuiEnabled() na parte do script do lado do cliente com a opção Enum.CoreGuiType associada.

Interface padrãoEnumeração associada
Lista dinamicamente atualizada Players lista, comumente usada como uma tabela de líderes.Enum.CoreGuiType.PlayerList
A barra do personagem Health . Não aparece se a barra do personagem Humanoid estiver em plena saúde.Enum.CoreGuiType.Health
O personagem Backpack que contém ferramentas na experiência . Não aparece se não houver Tools na mochila.Enum.CoreGuiType.Backpack
A janela de bate-papo de texto.Enum.CoreGuiType.Chat
Menu pop-up de personagem emotes.Enum.CoreGuiType.EmotesMenu
Uma janela que exibe a perspectiva ou visão de um jogador de seu próprio personagem.Não aparece a menos que o jogador tenha ativado Visualização Automática no menu do Roblox.Enum.CoreGuiType.SelfView
Um botão capturar captura de tela ao longo do lado direito da tela.Não aparece a menos que o jogador tenha ativado Capturas no menu Roblox.Enum.CoreGuiType.Captures
Core UI elements in every Roblox experience.
Script do Cliente - Desabilitar elementos de UI padrão

local StarterGui = game:GetService("StarterGui")
-- Desabilitar barra de saúde e mochila padrão
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

Além disso, dispositivos com capacidades de toque incluem um polegar virtual e um botão de pulo por padrão.Se desejar, você pode ocultar esses elementos definindo GuiService.TouchControlsEnabled para false em um script do lado do cliente.

UI elements for touch-capable devices in every Roblox experience
Script do Cliente - Desabilitar Controles de Toque

local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false