Il contenitore ScreenGui contiene GuiObjects per essere visualizzato sullo schermo di un giocatore, inclusi frame , etichette , pulsanti e altro ancora.Tutti gli oggetti e il codice dell'interfaccia utente sullo schermo vengono memorizzati e modificati sul client.

Per visualizzare un ScreenGui e il suo figlio GuiObjects a ogni giocatore che si unisce all'esperienza, posizionalo all'interno del contenitore StarterGui.Quando un giocatore si unisce a un'esperienza e il suo personaggio viene generato per la prima volta, il ScreenGui e i suoi contenuti si clonano nel contenitore PlayerGui per quel giocatore, situato all'interno del contenitore Players.

Mentre un'esperienza cresce in scala, potresti avere bisogno di più interfacce schermo, come uno schermo di titolo, un menu delle impostazioni, un'interfaccia del negozio e altro ancora.In tali casi, puoi posizionare più container unici ScreenGui all'interno di StarterGui e attivare la proprietà di ciascun container Enabled a seconda se deve essere visibile e attivo (mentre false , i contenuti non verranno visualizzati, elaborati dall'utente o aggiornati in risposta alle modifiche).

La proprietà può essere attivata inizialmente attraverso la finestra Proprietà e/o puoi impostarla durante il tempo di gioco da uno script lato client tramite l'accesso a il giocatore's e impostandolo su o per il contenitore desiderato.
Proprietà del container
Le seguenti proprietà ti consentono di personalizzare gli inserimenti dello schermo su più dispositivi, l'ordine di visualizzazione quando si utilizzano più contenitori di schermo e altro.
Inserzioni dello schermo
I telefoni moderni approfittano di tutta la schermata ma in genere includono nottolini, tagli e altri elementi che occupano spazio sullo schermo.Ogni esperienza Roblox include anche i controlli della barra superiore per l'accesso rapido al menu principale, la chat, la classifica, e altro ancora.

Per garantire che i giocatori possano vedere e accedere a tutta l'interfaccia utente facilmente e senza ostacoli, Roblox fornisce la proprietà che controlla gli inserimenti dell'area sicura per i contenuti di un .
Il predefinito di CoreUISafeInsets mantiene tutti i discendenti GuiObjects all'interno dell'area sicura dell'interfaccia utente principale, libera dai pulsanti della barra superiore e da altri tagli di schermo.Questa impostazione è raccomandata se il ScreenGui contiene elementi di interfaccia utente interattivi.

Ordine di visualizzazione
Quando si utilizzano più interfacce ScreenGui multiple, puoi stratificarle per Z‑index attraverso la loro proprietà DisplayOrder.Ad esempio, per visualizzare un menu delle impostazioni modal su uno ScreenGui di fronte all'interfaccia utente principale dell'esperienza su un altro ScreenGui , assegnare un più alto DisplayOrder alla modal rispetto all'interfaccia di base.
Ripristina allo spawn
La proprietà booleana ResetOnSpawn determina se le ScreenGui resets (si ripristina e si replica nel personaggio del giocatore PlayerGui) ogni volta che il personaggio del giocatore respawna.
Condizione | Ripristini |
---|---|
ResetOnSpawn è true (predefinito). | YES |
Il ScreenGui è un discendente indiretto di StarterGui ; ad esempio è posizionato all'interno di un Folder situato all'interno di StarterGui . | YES |
è e il è un discendente diretto di . | NO |
Accedi all'interfaccia utente del giocatore
Come notato, genitorare un a cloniarlo e il suo figlio nel contenitore di un giocatore quando si uniscono all'esperienza e il loro personaggio viene generato per primo.
Se devi controllare il contenitore dell'interfaccia utente di un giocatore durante il tempo di gioco, ad esempio per mostrare/nascondere uno specifico ScreenGui o uno qualsiasi dei suoi figli, accedici come segue da un LocalScript :
Script locale - Accedere a un giocatore's UI
local Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Nascondi schermo di titolosettingsMenu.Enabled = true -- Show settings menu
Disabilita interfaccia utente predefinita
Tutte le esperienze Roblox includono diversi elementi dell'interfaccia utente che sono abilitati per impostazione predefinita.Se non hai bisogno di nessuno di questi elementi o se vuoi sostituirli con le tue creazioni, puoi usare il metodo SetCoreGuiEnabled() in uno script lato client con l'opzione Enum.CoreGuiType associata.
Interfaccia utente predefinita | Enum associata |
---|---|
Lista aggiornata dinamicamente Players elenco, comunemente utilizzato come classifica . | Enum.CoreGuiType.PlayerList |
La barra di Health del personaggio. Non appare se la barra di Humanoid del personaggio è in piena salute. | Enum.CoreGuiType.Health |
Il personaggio di Backpack che contiene strumenti in-esperienza . Non appare se non ci sono Tools nello zaino. | Enum.CoreGuiType.Backpack |
La finestra di chat di testo. | Enum.CoreGuiType.Chat |
Menu popup del personaggio emote. | Enum.CoreGuiType.EmotesMenu |
Una finestra che mostra la prospettiva o il punto di vista di un Giocatoredel proprio personaggio.Non appare a meno che il giocatore non abbia abilitato Vista automatica dal menu Roblox. | Enum.CoreGuiType.SelfView |
Un pulsante cattura screenshot sulla destra dello schermo.Non appare a meno che il giocatore non abbia abilitato Catture dal menu Roblox. | Enum.CoreGuiType.Captures |

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

Script del client - Disabilita i controlli touch
local GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false