Kontener ScreenGui przechowuje GuiObjects, które są wyświetlane na ekranie gracza, w tym ramki, etykiety, przyciski i inne. Wszystkie obiekty UI na ekranie i kod są przechowywane i zmieniane po stronie klienta.

Aby wyświetlić ScreenGui i jego dzieci GuiObjects dla każdego gracza, który dołącza do gry, umieść go wewnątrz kontenera StarterGui. Gdy gracz dołącza do gry i jego postać po raz pierwszy się pojawia, ScreenGui i jego zawartość są klonowane do kontenera PlayerGui dla tego gracza, znajdującego się w kontenerze Players.

W miarę rozwoju gry możesz potrzebować wielu interfejsów ekranowych, takich jak ekran tytułowy, menu ustawień, interfejs sklepu i inne. W takich przypadkach możesz umieścić wiele unikalnych kontenerów ScreenGui wewnątrz StarterGui i przełączać właściwość Enabled każdego kontenera w zależności od tego, czy powinien być widoczny i aktywny (gdy false, zawartość nie będzie renderowana, przetwarzać wejścia użytkownika ani aktualizować w odpowiedzi na zmiany).

Właściwość Enabled może być początkowo przełączana przez okno Właściwości i/lub możesz ustawić ją w czasie gry z poziomu skryptu po stronie klienta, uzyskując dostęp do PlayerGui gracza i ustawiając ją na true lub false dla pożądanych kontenerów.
Właściwości kontenera
Następujące właściwości pozwalają dostosować wstawki ekranu na różnych urządzeniach, kolejność wyświetlania przy użyciu wielu kontenerów ekranowych i inne.
Wstawki ekranu
Nowoczesne telefony wykorzystują cały ekran, ale zazwyczaj mają wcięcia, wycięcia i inne elementy zajmujące miejsce na ekranie. Każda gra Roblox zawiera również kontrolki górnego paska dla szybkiego dostępu do głównego menu, czatu, rankingu i nie tylko.

Aby zapewnić graczom łatwy dostęp do całego interfejsu użytkownika bez przeszkód, Roblox udostępnia właściwość ScreenInsets, która kontroluje wcięcia bezpiecznego obszaru dla zawartości ScreenGui.
Domyślna wartość CoreUISafeInsets utrzymuje wszystkie obiekty podrzędne GuiObjects wewnątrz bezpiecznego obszaru interfejsu użytkownika, z dala od przycisków górnego paska i innych wycięć ekranu. To ustawienie jest zalecane, jeśli ScreenGui zawiera interaktywne elementy interfejsu użytkownika.

Kolejność wyświetlania
Kiedy używasz wielu interfejsów ScreenGui, możesz je nakładać według indeksu Z przez właściwość DisplayOrder. Na przykład, aby wyświetlić modalne menu ustawień na jednym ScreenGui przed głównym interfejsem użytkownika gry na innym ScreenGui, przypisz wyższą wartość DisplayOrder do modalnego niż do interfejsu znajdującego się poniżej.
Resetowanie przy odrodzeniu
Właściwość logiczna ResetOnSpawn określa, czy ScreenGui resetuje się (usuwa się i ponownie klonuje do PlayerGui gracza) za każdym razem, gdy postać gracza się odradza.
| Warunek | Resetuje |
|---|---|
| ResetOnSpawn jest true (domyślnie). | TAK |
| ScreenGui jest pośrednim potomkiem StarterGui; na przykład jest umieszczony wewnątrz Folder znajdującego się w StarterGui. | TAK |
| ResetOnSpawn jest false i ScreenGui jest bezpośrednim potomkiem StarterGui. | NIE |
Uzyskaj dostęp do UI gracza
Jak wspomniano, umieszczenie ScreenGui w StarterGui klonuje go i jego dzieci GuiObjects do kontenera PlayerGui gracza, gdy dołącza do gry i jego postać po raz pierwszy się pojawia.
Jeśli musisz kontrolować kontener UI gracza w czasie gry, na przykład, aby pokazać/ukryć konkretny ScreenGui lub jakiekolwiek jego dzieci, uzyskaj do niego dostęp w następujący sposób z 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 -- Ukryj ekran tytułowy
settingsMenu.Enabled = true -- Pokaż menu ustawieńWyłącz domyślne UI
All Roblox games include several UI elements that are enabled by default. If you don't need any of these elements or if you want to replace them with your own creations, you can use the SetCoreGuiEnabled() method in a client‑side script with the associated Enum.CoreGuiType option.
| Domyślny UI | Powiązana enum |
|---|---|
| Dynamically updated Players list, commonly used as a leaderboard. | Enum.CoreGuiType.PlayerList |
| Słupek zdrowia postaci Health. Nie pojawia się, jeśli Humanoid postaci ma pełne zdrowie. | Enum.CoreGuiType.Health |
| Plecak postaci Backpack, który zawiera narzędzia w grze. Nie pojawia się, jeśli nie ma Tools w plecaku. | Enum.CoreGuiType.Backpack |
| Okno czatu tekstowego. | Enum.CoreGuiType.Chat |
| Menu wyskakujące z emotkami postaci. | Enum.CoreGuiType.EmotesMenu |
| Okno wyświetlające perspektywę lub widok własnej postaci gracza. Nie pojawia się, chyba że gracz włączył Widok Własny w menu Roblox. | Enum.CoreGuiType.SelfView |
| Przycisk zrób zrzut ekranu po prawej stronie ekranu. Nie pojawia się, chyba że gracz włączył Zrzuty w menu Roblox. | Enum.CoreGuiType.Captures |
| Przełącznik Awatara pozwala użytkownikom na zmianę swojego awatara platformy. | Enum.CoreGuiType.AvatarSwitcher |

local StarterGui = game:GetService("StarterGui")
-- Wyłącz domyślny pasek zdrowia i plecak
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)Additionally, devices with touch capabilities include a virtual thumbstick and a jump button by default. If desired, you can hide these elements by setting GuiService.TouchControlsEnabled to false in a client‑side script.

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