Contenedores de UI en la pantalla

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El contenedor ScreenGui contiene GuiObjects para mostrar en la pantalla de un jugador, incluidos marcos , etiquetas , botones y más.Todos los objetos y código de interfaz de usuario en la pantalla se almacenan y cambian en el cliente.

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

Para mostrar un ScreenGui y su hijo GuiObjects a cada jugador que se una a la experiencia, colócalo dentro del contenedor StarterGui.Cuando un jugador se une a una experiencia y su personaje aparece por primera vez, el ScreenGui y su contenido se clonan en el contenedor PlayerGui para ese jugador, ubicado dentro del contenedor Players.

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

A medida que una experiencia crece en alcance, es posible que necesite múltiples interfaces de pantalla, como una pantalla de título, un menú de configuración, una interfaz de tienda y más.En tales casos, puedes colocar múltiples contenedores únicos ScreenGui dentro de StarterGui y alternar la propiedad de cada contenedor Enabled dependiendo de si debe ser visible y activo (mientras false , los contenidos no se Renderizar, se procesará la entrada del usuario o se actualizarán en respuesta a cambios).

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

La propiedad puede alternarse inicialmente a través de la ventana Propiedades y/o puedes establecerla durante el tiempo de juego desde un script del lado del cliente accediendo al jugador's y configurándolo a o para el contenedor deseado(s).

Propiedades del contenedor

Las siguientes propiedades te permiten personalizar los insertos de pantalla en múltiples dispositivos, el orden de visualización al usar múltiples contenedores de pantalla, y más.

Inserciones de pantalla

Los teléfonos modernos aprovechan toda la pantalla, pero generalmente incluyen ranuras, recortes y otros elementos que ocupan espacio en la pantalla.Cada experiencia de Roblox también incluye los controles de barra superior para acceso rápido al menú principal , chat, tabla de clasificación y más.

Mobile device showing Roblox top bar buttons and device cutout.

Para garantizar que los jugadores puedan ver y acceder fácilmente a toda la interfaz de usuario sin obstrucción, Roblox proporciona la propiedad que controla las inserciones de la zona segura para el contenido de un .

El predeterminado de CoreUISafeInsets mantiene todo el descendencia GuiObjects dentro de la zona segura de la interfaz de usuario principal, libre de los botones de la barra superior y de otros recortes de pantalla.Esta configuración se recomienda si el ScreenGui contiene elementos de interfaz de usuario interactivos.

Mobile device showing the core UI safe area.

Orden de visualización

Al usar múltiples interfaces ScreenGui, puedes superponerlas por índice Z a través de su propiedad DisplayOrder.Por ejemplo, para mostrar un menú de configuración modal en uno ScreenGui delante de la interfaz de usuario principal de la experiencia en otro ScreenGui , asigne un mayor DisplayOrder al modal que la interfaz subyacente.

Reiniciar al generar

La propiedad booleana ResetOnSpawn determina si los ScreenGui reinicios (se elimina a sí misma y se reclona en el personaje del jugador PlayerGui) cada vez que el personaje del jugador reaparece.

CondiciónReinicios
ResetOnSpawn es true (por defecto).
yes
El ScreenGui es un descendiente indirecto de indirecto de StarterGui ; por ejemplo, se coloca dentro de un Folder ubicado dentro de StarterGui .
yes
es y el es un descendiente directo de .
no

Acceder a la interfaz de usuario del jugador

Como se señaló, padrar a un ScreenGui a StarterGui clones a él y a su hijo GuiObjects en un contenedor de jugador de PlayerGui cuando se unan a la experiencia y su personaje aparezca por primera vez.

Si necesita controlar el contenedor de la interfaz de usuario de un jugador durante el tiempo de juego, por ejemplo, para mostrar/ocultar un específico ScreenGui o cualquiera de sus hijos, acceda a él como sigue desde un LocalScript :

LocalScript - Accediendo a un jugador'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 -- Ocultar pantalla de título
settingsMenu.Enabled = true -- Show settings menu

Desactivar la interfaz de usuario predeterminada

Todas las experiencias de Roblox incluyen varios elementos de interfaz de usuario que se activan por defecto.Si no necesitas ninguno de estos elementos o quieres reemplazarlos con tus propias creaciones, puedes usar el método SetCoreGuiEnabled() en un script del lado del cliente con la opción Enum.CoreGuiType asociada.

Interfaz predeterminadaEnum asociado
Lista actualizada dinámicamente Players lista, comúnmente utilizada como una tabla de clasificación.Enum.CoreGuiType.PlayerList
La barra de caracteres del personaje. No aparece si la barra de salud del personaje está en plena salud.Enum.CoreGuiType.Health
El personaje Backpack que contiene herramientas en la experiencia . No aparece si no hay Tools en la mochila.Enum.CoreGuiType.Backpack
La ventana de chat de texto .Enum.CoreGuiType.Chat
Menú emergente de emotes de personaje emoticonos.Enum.CoreGuiType.EmotesMenu
Una ventana que muestra la perspectiva o vista de un jugador de su propio personaje.No aparece a menos que el jugador haya activado Vista previa de sí mismo desde el menú de Roblox.Enum.CoreGuiType.SelfView
Un botón de captura de pantalla en el lado derecho de la pantalla.No aparece a menos que el jugador haya habilitado Capturas desde el menú de Roblox.Enum.CoreGuiType.Captures
Core UI elements in every Roblox experience.
Script del cliente - Desactivar elementos de interfaz predeterminados

local StarterGui = game:GetService("StarterGui")
-- Desactivar la barra de salud predeterminada y la mochila
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

Además, los dispositivos con capacidades táctiles incluyen un joystick virtual y un botón de salto por defecto.Si lo desea, puede ocultar estos elementos al establecer GuiService.TouchControlsEnabled en false en un script del lado del cliente.

UI elements for touch-capable devices in every Roblox experience
Script del cliente - Desactivar controles táctiles

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