Der ScreenGui Container hält GuiObjects, um sie auf dem Bildschirm eines Spielers anzuzeigen, einschließlich Frames, Labels, Buttons und mehr. Alle On-Screen UI-Objekte und Codes werden auf dem Client gespeichert und geändert.

Um ein ScreenGui und seine Kind-GuiObjects für jeden Spieler, der an der Erfahrung teilnimmt, anzuzeigen, platzieren Sie es im StarterGui Container. Wenn ein Spieler einer Erfahrung beitritt und sein Charakter zum ersten Mal erscheint, wird das ScreenGui und dessen Inhalte in den PlayerGui Container für diesen Spieler, der sich im Players Container befindet, geklont.

Wenn eine Erfahrung im Umfang wächst, benötigen Sie möglicherweise mehrere Bildschirmoberflächen wie einen Titelscreen, ein Einstellungsmenü, eine Shop-Oberfläche und mehr. In solchen Fällen können Sie mehrere einzigartige ScreenGui Container im StarterGui platzieren und die Enabled Eigenschaft jedes Containers umschalten, je nachdem, ob es sichtbar und aktiv sein sollte (wenn false, werden die Inhalte nicht gerendert, verarbeiten keine Eingaben des Benutzers oder aktualisieren sich als Reaktion auf Änderungen).

Die Enabled Eigenschaft kann anfänglich über das Eigenschaften Fenster umgeschaltet werden und/oder Sie können sie während der Spielzeit von einem client-seitigen Skript aus einstellen, indem Sie auf den PlayerGui des Spielers zugreifen und sie auf true oder false für die gewünschten Container setzen.
Container-Eigenschaften
Die folgenden Eigenschaften ermöglichen es Ihnen, die Bildschirminsets über mehrere Geräte hinweg, die Anzeigereihenfolge beim Verwenden mehrerer Bildschirmcontainer und mehr anzupassen.
Bildschirminsets
Moderne Telefone nutzen den gesamten Bildschirm, enthalten jedoch typischerweise Ausschnitte, Schnitte und andere Elemente, die Bildschirmplatz beanspruchen. Jedes Roblox-Spiel enthält auch die Oberleistensteuerungen für den schnellen Zugriff auf das Hauptmenü, Chat, Leaderboard und mehr.

Um sicherzustellen, dass die Spieler alle UI-Elemente leicht und ohne Behinderung sehen und darauf zugreifen können, bietet Roblox die ScreenInsets-Eigenschaft, die die sicheren Bereich-Abstände für die Inhalte eines ScreenGui steuert.
Der Standardwert von CoreUISafeInsets hält alle abgeleiteten GuiObjects im sicheren Bereich der Kernbenutzeroberfläche, weg von den Schaltflächen der Oberleiste und anderen Bildschirm-Ausschnitten. Diese Einstellung wird empfohlen, wenn das ScreenGui interaktive UI-Elemente enthält.

Anzeigereihenfolge
Wenn Sie mehrere ScreenGui Oberflächen verwenden, können Sie sie durch den Z-Index über ihre DisplayOrder Eigenschaft schichten. Zum Beispiel, um ein modales Einstellungsmenü auf einem ScreenGui vor der Hauptbenutzeroberfläche einer anderen ScreenGui anzuzeigen, weisen Sie der modalen Oberfläche eine höhere DisplayOrder zu als der darunter liegenden Oberfläche.
Zurücksetzen beim Spawn
Die ResetOnSpawn boolesche Eigenschaft bestimmt, ob die ScreenGui zurückgesetzt wird (sich selbst löscht und sich neu in das PlayerGui des Spielers klont), jedes Mal, wenn der Charakter des Spielers neu spawnt.
| Bedingung | Zurücksetzungen |
|---|---|
| ResetOnSpawn ist true (Standard). | JA |
| Die ScreenGui ist ein indirekter Nachkomme von StarterGui; zum Beispiel befindet sie sich in einem Folder, das sich im StarterGui befindet. | JA |
| ResetOnSpawn ist false und die ScreenGui ist ein direkter Nachkomme von StarterGui. | NEIN |
Zugriff auf die UI des Spielers
Wie bereits erwähnt, wird durch das Elternverhältnis eines ScreenGui zu StarterGui dieses und seine Kind-GuiObjects in den PlayerGui Container eines Spielers geklont, wenn der Spieler der Erfahrung beitritt und sein Charakter zum ersten Mal erscheint.
Wenn Sie die UI eines Spielers während der Spielzeit steuern müssen, zum Beispiel um eine bestimmte ScreenGui oder eines ihrer Kinder anzuzeigen/zu verbergen, greifen Sie wie folgt aus einem LocalScript darauf zu:
LocalScript - Zugriff auf die UI eines Spielerslocal Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Titelscreen ausblendensettingsMenu.Enabled = true -- Einstellungsmenü anzeigen
Standard UI deaktivieren
Alle Roblox-Spiele enthalten mehrere UI-Elemente, die standardmäßig aktiviert sind. Wenn Sie eines dieser Elemente nicht benötigen oder wenn Sie sie durch Ihre eigenen Kreationen ersetzen möchten, können Sie die Methode SetCoreGuiEnabled() in einem clientseitigen Skript mit der zugehörigen Enum.CoreGuiType-Option verwenden.
| Standard UI | Zugehöriges Enum |
|---|---|
| Dynamisch aktualisierte Players-Liste, die häufig als Rangliste verwendet wird. | Enum.CoreGuiType.PlayerList |
| Die Health-Leiste des Charakters. Wird nicht angezeigt, wenn der Humanoid des Charakters volle Gesundheit hat. | Enum.CoreGuiType.Health |
| Der Backpack des Charakters, der In-Game-Werkzeuge enthält. Wird nicht angezeigt, wenn keine Tools im Rucksack sind. | Enum.CoreGuiType.Backpack |
| Das Text-Chat-Fenster. | Enum.CoreGuiType.Chat |
| Popup-Menü mit Emotes des Charakters. | Enum.CoreGuiType.EmotesMenu |
| Ein Fenster, das die Perspektive oder Sicht des Spielers auf seinen eigenen Charakter anzeigt. Wird nicht angezeigt, es sei denn, der Spieler hat Selbstansicht im Roblox-Menü aktiviert. | Enum.CoreGuiType.SelfView |
| Ein Screenshot erheben-Button an der rechten Seite des Bildschirms. Wird nicht angezeigt, es sei denn, der Spieler hat Aufnahmen im Roblox-Menü aktiviert. | Enum.CoreGuiType.Captures |
| Der Avatar-Wechsler ermöglicht es Benutzern, ihren Plattform-Avatar zu ändern. | Enum.CoreGuiType.AvatarSwitcher |

Client Script - Deaktivieren der Standard UI-Elementelocal StarterGui = game:GetService("StarterGui")-- Deaktivieren der Standard-Gesundheitsanzeige und des RucksacksStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
Zusätzlich beinhalten Geräte mit Touch-Funktionen standardmäßig einen virtuellen Joystick und einen Sprungknopf. Wenn gewünscht, können Sie diese Elemente ausblenden, indem Sie GuiService.TouchControlsEnabled in einem clientseitigen Skript auf false setzen.

Client Script - Deaktivieren der Touch-Steuerungenlocal GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false