Kontenery UI na ekranie

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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.

Przykład ScreenGui z różnymi dziećmi GuiObject, w tym Frame, TextLabel, TextBox i ImageButton.

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.

Diagram pokazujący, jak ScreenGui klonuje się z StarterGui do PlayerGui gracza

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).

Hierarchia Eksploratora pokazująca wiele kontenerów ScreenGui, jeden włączony, a pozostałe wyłączone, w celu kontrolowania, które są widoczne w danym momencie.

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 przestrzeń ekranu. Każde doświadczenie Roblox również zawiera kontrolki górnego paska umożliwiające szybki dostęp do głównego menu, czatu, rankingu i innych.

Urządzenie mobilne pokazujące przyciski górnego paska Roblox oraz wycięcie urządzenia.

Aby zapewnić graczom łatwy dostęp do całego UI bez przeszkód, Roblox oferuje właściwość ScreenInsets, która kontroluje bezpieczne obszary dla zawartości ScreenGui.

Domyślny CoreUISafeInsets utrzymuje wszystkie obiekty potomne GuiObjects w obrębie bezpiecznego obszaru UI, z dala od przycisków górnego paska i innych wycięć ekranu. Ustawienie to jest zalecane, jeśli ScreenGui zawiera interaktywne elementy UI.

Urządzenie mobilne pokazujące bezpieczny obszar UI.

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.

WarunekResetuje 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 gracza

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

Wszystkie doświadczenia Roblox zawierają kilka elementów UI, które są domyślnie włączone. Jeśli nie potrzebujesz żadnych z tych elementów lub jeśli chcesz je zastąpić swoimi dziełami, możesz użyć metody SetCoreGuiEnabled() w skrypcie po stronie klienta z powiązaną opcją Enum.CoreGuiType.

Domyślne UIPowiązany enum
Dynamicznie aktualizowana lista Players, zazwyczaj używana jako tablica wyników.Enum.CoreGuiType.PlayerList
Pas zdrowia Health postaci. Nie pojawia się, jeśli pas saúde postaci Humanoid jest w pełni zdrowy.Enum.CoreGuiType.Health
Przechowalnia Backpack postaci, która zawiera narzędzia w doświadczeniu. Nie pojawia się, jeśli nie ma żadnych Tools w plecaku.Enum.CoreGuiType.Backpack
Okno czatu tekstowego.Enum.CoreGuiType.Chat
Menu wyboru emotów postaci.Enum.CoreGuiType.EmotesMenu
Okno wyświetlające perspektywę gracza lub widok ich własnej postaci. Nie pojawia się, chyba że gracz włączył Widok własny w menu Roblox.Enum.CoreGuiType.SelfView
Przycisk zrzutu ekranu wzdłuż prawego boku ekranu. Nie pojawia się, chyba że gracz włączył Zrzuty w menu Roblox.Enum.CoreGuiType.Captures
Przełącznik awatarów pozwala użytkownikom zmieniać swojego awatara na platformie.Enum.CoreGuiType.AvatarSwitcher
Podstawowe elementy UI w każdym doświadczeniu Roblox.
Skrypt Klienta - Wyłączenie Domyślnych Elementów UI

local StarterGui = game:GetService("StarterGui")
-- Wyłączenie domyślnego paska zdrowia i plecaka
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

Dodatkowo, urządzenia z funkcjami dotykowymi mają domyślnie dołączony wirtualny joystick i przycisk skoku. Jeśli chcesz, możesz ukryć te elementy, ustawiając GuiService.TouchControlsEnabled na false w skrypcie po stronie klienta.

Elementy UI dla urządzeń dotykowych w każdym doświadczeniu Roblox
Skrypt Klienta - Wyłączenie Kontroli Dotykowych

local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.