Wadah UI layar pada layar

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Wadah ScreenGui berisi GuiObjects untuk ditampilkan di layar pemain, termasuk frame , label , tombol , dan banyak lagi.Semua objek dan kode UI di layar disimpan dan diubah pada klien.

Example ScreenGui with various GuiObject children, including a Frame, TextLabel, TextBox, and ImageButton.

Untuk menampilkan ScreenGui dan anaknya GuiObjects kepada setiap pemain yang bergabung dengan pengalaman, letakkan di dalam kontainer StarterGui.Ketika pemain bergabung dengan pengalaman dan karakter mereka pertama kali muncul, ScreenGui dan isinya klon ke dalam wadah PlayerGui untuk pemain itu, berlokasi di dalam wadah Players .

Diagram of how a ScreenGui clones from StarterGui to a player's PlayerGui

Saat pengalaman tumbuh dalam skala, Anda mungkin memerlukan beberapa antarmuka layar seperti layar judul, menu pengaturan, antarmuka toko, dan banyak lagi.Dalam kasus seperti itu, Anda dapat menempatkan beberapa wadah unik ScreenGui di dalam StarterGui dan mengubah properti setiap wadah Enabled tergantung pada apakah harus terlihat dan aktif (saat false , konten tidak akan ditampilkan, memproses input pengguna, atau diperbarui dalam respons terhadap perubahan).

Explorer hierarchy showing multiple ScreenGui containers, one enabled and the others disabled, in order to control which are visible at a given time.

Properti dapat diaktifkan awalnya melalui jendela Properti dan/atau Anda dapat mengaturinya selama waktu bermain dari skrip sisi klien dengan mengakses pemainnya dan menetapkannya ke atau untuk wadah yang diinginkan.

Properti kontener

Properti berikut memungkinkan Anda untuk menyesuaikan insers layar di berbagai perangkat, urutan tampilan saat menggunakan beberapa wadah layar, dan banyak lagi.

Sisipan layar

Telepon modern mengambil keuntungan dari seluruh layar tetapi biasanya termasuk notch, cutout, dan elemen lain yang menempati ruang layar.Setiap pengalaman Roblox juga termasuk kontrol bilah atas untuk akses cepat ke menu utama , obrolan, papan peringkat, dan banyak lagi.

Mobile device showing Roblox top bar buttons and device cutout.

Untuk memastikan pemain dapat melihat dan mengakses semua UI dengan mudah dan tanpa hambatan, Roblox menyediakan properti ScreenInsets yang mengontrol area aman ini untuk konten dari ScreenGui .

Default dari CoreUISafeInsets menyimpan semua keturunan GuiObjects di dalam area UI utama yang aman, bersih dari tombol bilah atas dan potongan layar lainnya.Pengaturan ini direkomendasikan jika ScreenGui berisi elemen UI interaktif.

Mobile device showing the core UI safe area.

Tampilkan urutan

Saat menggunakan beberapa ScreenGui antarmuka, Anda dapat melapisi mereka dengan Z‑index melalui properti mereka DisplayOrder.Sebagai contoh, untuk menampilkan menu pengaturan modal di satu ScreenGui di depan antarmuka pengguna utama pengalaman di antarmuka lain ScreenGui , atribusikan lebih tinggi DisplayOrder ke menu modal daripada antarmuka dasar.

Reset pada saat spawn

Properti boolean ResetOnSpawn menentukan apakah ScreenGui reset (menghapus dirinya sendiri dan kloning kembali ke karakter pemain PlayerGui) setiap kali karakter pemain bereinkarnasi.

KondisiSetel ulang
ResetOnSpawn adalah true (默认).
yes
The ScreenGui adalah anak perempuan tidak langsung dari StarterGui ; misalnya ditempatkan di dalam sebuah Folder yang terletak di dalam StarterGui .
yes
adalah dan adalah turunan langsung dari .
no

Akses UI pemain

Seperti dicatat, membesarkan anak ScreenGui ke StarterGui klon itu dan anaknya GuiObjects ke dalam wadah pemain PlayerGui ketika mereka bergabung dengan pengalaman dan karakter mereka pertama kali muncul.

Jika Anda perlu mengontrol kontainer UI pemain selama waktu bermain, misalnya untuk menampilkan/sembunyikan spesifik ScreenGui atau salah satu anaknya, akses sebagai berikut dari LocalScript :

Skrip Lokal - Mengakses Pemain's UI

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 -- Sembunyikan layar judul
settingsMenu.Enabled = true -- Show settings menu

Nonaktifkan UI default

Semua pengalaman Roblox termasuk beberapa elemen UI yang diaktifkan secara default.Jika Anda tidak membutuhkan salah satu elemen ini atau jika Anda ingin menggantinya dengan kreasi Anda sendiri, Anda dapat menggunakan metode SetCoreGuiEnabled() di skrip sisi klien dengan opsi Enum.CoreGuiType yang terkait.

UI StandarEnum terkait
Dinamis diperbarui daftar Players , biasanya digunakan sebagai papan peringkat .Enum.CoreGuiType.PlayerList
Bar karakter Health . Tidak muncul jika karakter Humanoid berada dalam kesehatan penuh.Enum.CoreGuiType.Health
Karakter Backpack yang berisi alat dalam pengalaman . Tidak muncul jika tidak ada Tools di ransel.Enum.CoreGuiType.Backpack
Jendela obrolan teks .Enum.CoreGuiType.Chat
Menu popup karakter emotes.Enum.CoreGuiType.EmotesMenu
Jendela yang menampilkan perspektif atau pandangan pemain tentang karakter mereka sendiri.Tidak muncul kecuali pemain telah mengaktifkan Pandangan Diri dari menu Roblox.Enum.CoreGuiType.SelfView
Tombol tangkap tangkapan layar di sisi kanan layar.Tidak muncul kecuali pemain telah mengaktifkan Tangkapan dari menu Roblox.Enum.CoreGuiType.Captures
Core UI elements in every Roblox experience.
Skrip Klien - Nonaktifkan Elemen UI Dasar

local StarterGui = game:GetService("StarterGui")
-- Nonaktifkan bilah kesehatan dan ransel default
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

Selain itu, perangkat dengan kemampuan sentuhan termasuk joystick virtual dan tombol lompat secara default.Jika diinginkan, Anda dapat menyembunyikan elemen ini dengan mengatur GuiService.TouchControlsEnabled ke false di skrip sisi klien.

UI elements for touch-capable devices in every Roblox experience
Skrip Klien - Nonaktifkan Kontrol Sentuh

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