Il contenitore ScreenGui contiene GuiObjects da visualizzare sullo schermo di un giocatore, inclusi frame, etichette, pulsanti e altro. Tutti gli oggetti UI sullo schermo e il codice sono memorizzati e modificati sul client.

Per visualizzare un ScreenGui e i suoi figli GuiObjects a ogni giocatore che entra nel gioco, posizionalo all'interno del contenitore StarterGui. Quando un giocatore entra in un gioco e il suo personaggio appare per la prima volta, il ScreenGui e i suoi contenuti vengono clonati nel contenitore PlayerGui per quel giocatore, situato all'interno del contenitore Players.

Man mano che un gioco cresce in portata, potresti aver bisogno di più interfacce sullo schermo, come una schermata di titolo, un menu delle impostazioni, un'interfaccia del negozio e altro. In tali casi, puoi posizionare più contenitori ScreenGui unici all'interno di StarterGui e attivare/disattivare la proprietà Enabled di ciascun contenitore a seconda che debba essere visibile e attivo (quando è false, i contenuti non verranno visualizzati, non elaboreranno input dell'utente o non si aggiorneranno in risposta ai cambiamenti).

La proprietà Enabled può essere inizialmente attivata/disattivata tramite la finestra Proprietà e/o puoi impostarla durante il tempo di gioco da uno script lato client accedendo al PlayerGui del giocatore e impostandola su true o false per il/i contenitore/i desiderato/i.
Proprietà del contenitore
Le seguenti proprietà ti consentono di personalizzare gli inset dello schermo su più dispositivi, l'ordine di visualizzazione quando utilizzi più contenitori sullo schermo e altro.
Inset dello schermo
Modern phones take advantage of the entire screen but typically include notches, cutouts, and other elements that occupy screen space. Every Roblox game also includes the top bar controls for quick access to the main menu, chat, leaderboard, and more.

To ensure players can see and access all UI easily and without obstruction, Roblox provides the ScreenInsets property which controls the safe area insets for the contents of a ScreenGui.
The default of CoreUISafeInsets keeps all descendant GuiObjects inside the core UI safe area, clear of the top bar buttons and other screen cutouts. This setting is recommended if the ScreenGui contains interactive UI elements.

Ordine di visualizzazione
Quando utilizzi più interfacce ScreenGui, puoi sovrapporle tramite l'indice Z attraverso la loro proprietà DisplayOrder. Ad esempio, per visualizzare un menu delle impostazioni modale su un ScreenGui davanti all'interfaccia utente principale del gioco su un altro ScreenGui, assegna un DisplayOrder più alto a quello modale rispetto all'interfaccia sottostante.
Ripristina all'apparizione
La proprietà booleana ResetOnSpawn determina se il ScreenGui si resetta (si elimina e si riclona nel PlayerGui del giocatore) ogni volta che il personaggio del giocatore rinasce.
| Condizione | Ripristina |
|---|---|
| ResetOnSpawn è true (predefinito). | SÌ |
| Il ScreenGui è un discendente indiretto di StarterGui; ad esempio, è posizionato all'interno di un Folder situato in StarterGui. | SÌ |
| ResetOnSpawn è false e il ScreenGui è un discendente diretto di StarterGui. | NO |
Accedi all'interfaccia utente del giocatore
Come notato, posizionare un ScreenGui in StarterGui lo clona e i suoi figli GuiObjects nel contenitore PlayerGui di un giocatore quando entra nel gioco e il suo personaggio appare per la prima volta.
Se hai bisogno di controllare il contenitore UI di un giocatore durante il tempo di gioco, ad esempio per mostrare/nascondere un specifico ScreenGui o uno dei suoi figli, accedilo come segue da uno LocalScript:
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 -- Nascondi la schermata del titolo
settingsMenu.Enabled = true -- Mostra il menu delle impostazioniDisabilita l'interfaccia utente predefinita
Tutti i giochi Roblox includono diversi elementi UI che sono abilitati per impostazione predefinita. Se non hai bisogno di nessuno di questi elementi o se desideri sostituirli con le tue creazioni, puoi utilizzare il metodo SetCoreGuiEnabled() in uno script lato client con l'opzione Enum.CoreGuiType associata.
| UI predefinita | Enum associato |
|---|---|
| Elenco Players aggiornato dinamicamente, comunemente usato come classifica. | Enum.CoreGuiType.PlayerList |
| Barra di Salute del personaggio. Non appare se la Humanoid del personaggio è al massimo della salute. | Enum.CoreGuiType.Health |
| La Backpack del personaggio che contiene strumenti in gioco. Non appare se non ci sono Strumenti nello zaino. | Enum.CoreGuiType.Backpack |
| Finestra della chat testuale. | Enum.CoreGuiType.Chat |
| Menu a comparsa di emote del personaggio. | Enum.CoreGuiType.EmotesMenu |
| Una finestra che visualizza la prospettiva o la visione del proprio personaggio da parte di un giocatore. Non appare a meno che il giocatore non abbia abilitato Vista Personale dal menu di Roblox. | Enum.CoreGuiType.SelfView |
| Pulsante cattura schermata lungo il lato destro dello schermo. Non appare a meno che il giocatore non abbia abilitato Catture dal menu di Roblox. | Enum.CoreGuiType.Captures |
| Il Cambiatore di Avatar consente agli utenti di cambiare il loro avatar della piattaforma. | Enum.CoreGuiType.AvatarSwitcher |

local StarterGui = game:GetService("StarterGui")
-- Disabilita la barra della salute predefinita e lo zaino
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)Inoltre, i dispositivi con capacità tattili includono un thumbstick virtuale e un pulsante di salto per impostazione predefinita. Se desideri, puoi nascondere questi elementi impostando GuiService.TouchControlsEnabled su false in uno script lato client.

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