Kontener ScreenGui zawiera GuiObjects do wyświetlenia na ekranie gracza, w tym ramy , etykiety , przyciski i więcej.Wszystkie obiekty i kody interfejsu na ekranie są przechowywane i zmieniane na klientzie.

Aby wyświetlić ScreenGui i jego dziecko GuiObjects dla każdego gracza, który dołącza do doświadczenia, umieść go wewnątrz kontenera StarterGui.Kiedy gracz dołącza do doświadczenia i jego postać po raz pierwszy się pojawia, klonuje się ScreenGui i jego zawartość w kontenerze PlayerGui dla tego gracza, położonym w kontenerze Players.

W miarę rozrostu doświadczenia możesz wymagać wielu interfejsów ekranu, takich jak ekran tytułowy, menu ustawień, interfejs sklepu i wiele więcej.W takich przypadkach możesz umieścić wiele unikalnych ScreenGui kontenerów wewnątrz StarterGui i przełączyć właściwość każdego kontenera Enabled w zależności od tego, czy powinna być widoczna i aktywna (podczas gdy false treści nie będą renderowane, przetwarzane wejście użytkownika lub aktualizowane w odpowiedzi na zmiany).

Właściwość może być początkowo przełączona za pośrednictwem okna Właściwości lub można ją ustawić podczas czasu gry z powodu skryptu po stronie klienta, uzyskując dostęp do gracza i ustawiając go na lub dla pożądanego kontenera(ów).
Właściwości pojemnika
Następujące właściwości pozwalają dostosować wstawki ekranowe na różnych urządzeniach, kolejność wyświetlania przy użyciu wielu kontenerów ekranowych i więcej.
Wstawki ekranowe
Nowoczesne telefony wykorzystują cały ekran, ale zwykle obejmują przetłoczenia, wycięcia i inne elementy, które zajmują przestrzeń ekranu.Każde doświadczenie Roblox obejmuje również sterowanie paskiem górnym do szybkiego dostępu do głównego menu, czat , tabelę wyników i więcej.

Aby upewnić się, że gracze mogą łatwo i bez przeszkód zobaczyć i uzyskać dostęp do wszystkich interfejsów użytkownika, Roblox dostarcza właściwość ScreenInsets, która kontroluje wstawki bezpiecznej strefy dla zawartości ScreenGui.
Domyślnie CoreUISafeInsets utrzymuje wszystkie potomki GuiObjects wewnątrz bezpiecznej strefy interfejsu użytkownika, oczyszczonej z przycisków paska górnego i innych przecięć ekranu.To ustawienie jest rekomendowane, jeśli ScreenGui zawiera interaktywne elementy UI.

Wyświetl kolejność
Podczas używania wielu interfejsów ScreenGui możesz je rozłożyć przez Z‑index poprzez ich właściwość DisplayOrder.Na przykład, aby wyświetlić menu ustawień modalowych na jednym ScreenGui przed głównym interfejsem użytkownika doświadczenia na innym ScreenGui , przypisz wyższy DisplayOrder modal niż interfejs podstawowy.
Zresetuj na spawnie
Właściwość ResetOnSpawn prawda lub fałsz określa, czy ScreenGui resetuje się (usuwa samodzielnie i klonuje się w postaci gracza PlayerGui) za każdym razem, gdy postać gracza się odrodzi.
Warunek | Resetuje |
---|---|
ResetOnSpawn jest true (domyślny). | yes |
The ScreenGui jest wtórnym potomkiem pośrednim z StarterGui ; na przykład jest umieszczony wewnątrz Folder położonego w StarterGui . | yes |
jest i jest bezpośrednim potomkiem . | no |
Interfejs użytkownika gracza dostępu
Jak wspomniano, opiekunowanie ScreenGui do StarterGui klonuje je i ich dziecko GuiObjects w kontenerze gracza PlayerGui, gdy dołączą do doświadczenia i ich postać pojawi się po raz pierwszy.
Jeśli musisz kontrolować kontener interfejsu użytkownika gracza podczas czasu gry, na przykład, aby pokazać/ukryć określone ScreenGui lub którekolwiek z jego dzieci, uzyskaj do niego dostęp z LocalScript:
LocalScript - Dostęp do gracza'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 -- Ukryj ekran tytułowysettingsMenu.Enabled = true -- Show settings menu
Wyłącz domyślną obsługę interfejsu
Wszystkie doświadczenia Roblox zawierają kilka elementów interfejsu użytkownika, które są włączone domyślnie.Jeśli nie potrzebujesz żadnego z tych elementów lub chcesz je zastąpić własnymi tworami, możesz użyć metody SetCoreGuiEnabled() w skrypcie strony klienta z opcją Enum.CoreGuiType.
Domyślny interfejs | Powiązany enum |
---|---|
Dynamicznie aktualizowana lista Players, powszechnie używana jako tabela wyników. | Enum.CoreGuiType.PlayerList |
Pasek znaków Health postaci. Nie pojawia się, jeśli postać ma pełne zdrowie Humanoid. | Enum.CoreGuiType.Health |
Litera Backpack znajdująca się w postaci, która zawiera narzędzia doświadczenia. Nie pojawia się, jeśli nie ma Tools w plecaku. | Enum.CoreGuiType.Backpack |
Okno czatu tekstowego. | Enum.CoreGuiType.Chat |
Menu wyskakujące postaci emotki. | Enum.CoreGuiType.EmotesMenu |
Okno wyświetlające perspektywę gracza lub widok jego własnej postaci.Nie pojawia się, chyba że gracz włączył Widok własny z menu Roblox. | Enum.CoreGuiType.SelfView |
Przycisk przyłap szkic ekranu po prawej stronie ekranu.Nie pojawia się, chyba że gracz włączył Przechwyty z menu Roblox. | Enum.CoreGuiType.Captures |

Skrypt klienta - Wyłącz domyślne elementy interfejsu
local StarterGui = game:GetService("StarterGui")-- Wyłącz domyślną pasek zdrowia i plecakStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
Ponadto urządzenia z możliwościami dotykowymi obejmują wirtualny joystick i przycisk skoku domyślnie.Jeśli chcesz, możesz ukryć te elementy, ustawiając GuiService.TouchControlsEnabled na false w skrypcie strony klienta.

Skrypt klienta - Wyłącz kontrolki dotykowe
local GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false