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 doświadczenia, umieść go w kontenerze StarterGui. Kiedy gracz dołącza do doświadczenia i jego postać się pierwsza pojawia, ScreenGui i jego zawartość zostaną sklonowane do kontenera PlayerGui dla tego gracza, znajdującego się w kontenerze Players.

Kiedy doświadczenie rośnie w zakresie, 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żna ją ustawić podczas gry za pomocą skryptu po stronie klienta, uzyskując dostęp do PlayerGui gracza i ustawiając ją na wartość true lub false dla wybranego kontenera(ów).
Właściwości kontenera
Poniższe właściwości pozwalają dostosować marginesy ekranu na wielu urządzeniach, kolejność wyświetlania przy użyciu wielu kontenerów ekranowych i inne.
Marginesy 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
Podczas korzystania z wielu interfejsów ScreenGui, możesz je układać według indeksu Z poprzez właściwość DisplayOrder. Na przykład, aby wyświetlić modalne menu ustawień na jednym ScreenGui przed głównym interfejsem użytkownika doświadczenia na innym ScreenGui, przypisz wyższą wartość DisplayOrder do modalu niż do interfejsu poniżej.
Reset przy odrodzeniu
Właściwość logiczna ResetOnSpawn decyduje, czy ScreenGui resetuje się (usuwa się i ponownie klonuje do PlayerGui gracza) za każdym razem, gdy postać gracza się odradza.
| Warunek | Resetuje się |
|---|---|
| ResetOnSpawn jest true (domyślnie). | TAK |
| ScreenGui jest pośrednim potomkiem StarterGui; na przykład znajduje się w Folder znajdującym się w StarterGui. | TAK |
| ResetOnSpawn jest false i ScreenGui jest bezpośrednim potomkiem StarterGui. | NIE |
Uzyskaj dostęp do interfejsu Użytkownika gracza
Jak wspomniano, zrzeszenie ScreenGui do StarterGui klonuje go i jego dzieci GuiObjects do kontenera PlayerGui gracza, gdy dołącza do doświadczenia, a jego postać się po raz pierwszy pojawia.
Jeśli potrzebujesz kontrolować kontener UI gracza podczas gry, na przykład, aby pokazać/ukryć konkretny ScreenGui lub którykolwiek z jego dzieci, uzyskaj do niego dostęp w następujący sposób z LocalScript:
LocalScript - Uzyskiwanie dostępu do UI graczalocal Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Ukryj ekran tytułowysettingsMenu.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 |

Skrypt Klienta - Wyłącz domyślne elementy UIlocal StarterGui = game:GetService("StarterGui")-- Wyłącz domyślny pasek zdrowia i plecakStarterGui: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.

Skrypt Klienta - Wyłącz elementy dotykowelocal GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false