Kontainer ScreenGui menyimpan GuiObjects untuk ditampilkan di layar pemain, termasuk frame, label, tombol, dan lainnya. Semua objek UI di layar dan kode disimpan dan diubah di sisi klien.

Untuk menampilkan ScreenGui dan GuiObjects anaknya kepada setiap pemain yang bergabung dalam pengalaman, tempatkan di dalam kontainer StarterGui. Ketika seorang pemain bergabung dalam pengalaman dan karakter mereka pertama kali muncul, ScreenGui dan isinya akan dikloning ke dalam kontainer PlayerGui untuk pemain tersebut, yang terletak di dalam kontainer Players.

Seiring dengan berkembangnya pengalaman, Anda mungkin memerlukan beberapa antarmuka layar seperti layar judul, menu pengaturan, antarmuka toko, dan lainnya. Dalam kasus seperti itu, Anda dapat menempatkan beberapa kontainer ScreenGui yang unik di dalam StarterGui dan mengubah properti Enabled untuk setiap kontainer tergantung pada apakah kontainer tersebut harus terlihat dan aktif (ketika false, konten tidak akan dirender, memproses input pengguna, atau memperbarui sebagai respons terhadap perubahan).

Properti Enabled dapat awalnya diubah melalui jendela Properti dan/atau Anda dapat mengaturnya selama waktu bermain dari skrip sisi klien dengan mengakses PlayerGui pemain dan mengaturnya ke true atau false untuk kontainer yang diinginkan.
Properti kontainer
Properti berikut memungkinkan Anda untuk menyesuaikan insets layar di berbagai perangkat, urutan tampil saat menggunakan beberapa kontainer layar, dan lainnya.
Insets layar
Telepon modern memanfaatkan seluruh layar tetapi biasanya termasuk notch, potongan, dan elemen lain yang memakan ruang layar. Setiap permainan Roblox juga mencakup kontrol bilah atas untuk akses cepat ke menu utama, obrolan, papan peringkat, dan lainnya.

Untuk memastikan pemain dapat melihat dan mengakses semua UI dengan mudah dan tanpa halangan, Roblox menyediakan properti ScreenInsets yang mengontrol area aman insets untuk konten ScreenGui.
Default dari CoreUISafeInsets menjaga semua GuiObjects keturunan tetap di dalam area aman UI inti, bebas dari tombol bilah atas dan potongan layar lainnya. Pengaturan ini disarankan jika ScreenGui berisi elemen UI interaktif.

Urutan tampil
Saat menggunakan beberapa antarmuka ScreenGui, Anda dapat melapiskannya menurut urutan Z melalui properti DisplayOrder. Misalnya, untuk menampilkan menu pengaturan modal di depan antarmuka pengguna utama pengalaman pada ScreenGui lainnya, tetapkan DisplayOrder yang lebih tinggi pada modal daripada antarmuka yang berada di bawahnya.
Reset saat muncul
Properti boolean ResetOnSpawn menentukan apakah ScreenGui direset (menghapus dirinya sendiri dan mengkloning kembali ke PlayerGui pemain) setiap kali karakter pemain muncul kembali.
| Kondisi | Direset |
|---|---|
| ResetOnSpawn adalah true (default). | YA |
| ScreenGui adalah keturunan tidak langsung dari StarterGui; misalnya, diletakkan di dalam Folder yang terletak dalam StarterGui. | YA |
| ResetOnSpawn adalah false dan ScreenGui adalah keturunan langsung dari StarterGui. | TIDAK |
Akses UI pemain
Seperti yang disebutkan, menempatkan ScreenGui di StarterGui mengkloningnya dan GuiObjects anaknya ke dalam kontainer PlayerGui pemain ketika mereka bergabung dengan pengalaman dan karakter mereka pertama kali muncul.
Jika Anda perlu mengontrol kontainer UI pemain selama waktu bermain, misalnya untuk menampilkan/memerintahkan ScreenGui tertentu atau salah satu anaknya, akses seperti berikut dari LocalScript:
LocalScript - Mengakses UI Pemainlocal Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Sembunyikan layar judulsettingsMenu.Enabled = true -- Tampilkan menu pengaturan
Nonaktifkan UI default
Semua permainan Roblox menyertakan beberapa elemen UI yang diaktifkan secara default. Jika Anda tidak memerlukan elemen ini atau jika Anda ingin menggantinya dengan kreasi Anda sendiri, Anda dapat menggunakan metode SetCoreGuiEnabled() dalam skrip sisi klien dengan opsi Enum.CoreGuiType yang terkait.
| UI Default | Enum terkait |
|---|---|
| Daftar Players yang diperbarui secara dinamis, biasanya digunakan sebagai papan peringkat. | Enum.CoreGuiType.PlayerList |
| Bar Health karakter. Tidak muncul jika Humanoid karakter dalam keadaan kesehatan penuh. | Enum.CoreGuiType.Health |
| Ransel Backpack karakter yang berisi alat dalam permainan. Tidak muncul jika tidak ada Tools di dalam ransel. | Enum.CoreGuiType.Backpack |
| Jendela chat teks. | Enum.CoreGuiType.Chat |
| Menu pop-up karakter emotes. | Enum.CoreGuiType.EmotesMenu |
| Jendela yang menampilkan perspektif atau pandangan pemain terhadap karakter mereka sendiri. Tidak muncul kecuali pemain telah mengaktifkan Tampilan Diri dari menu Roblox. | Enum.CoreGuiType.SelfView |
| Tombol ambil tangkapan layar di sisi kanan layar. Tidak muncul kecuali pemain telah mengaktifkan Tangkap dari menu Roblox. | Enum.CoreGuiType.Captures |
| Pengalih Avatar memungkinkan pengguna untuk mengubah avatar platform mereka. | Enum.CoreGuiType.AvatarSwitcher |

Skrip Klien - Nonaktifkan Elemen UI Defaultlocal StarterGui = game:GetService("StarterGui")-- Nonaktifkan bar kesehatan dan ransel defaultStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
Selain itu, perangkat dengan kemampuan sentuh secara default menyertakan thumbstick virtual dan tombol lompat. Jika diinginkan, Anda dapat menyembunyikan elemen ini dengan mengatur GuiService.TouchControlsEnabled ke false dalam skrip sisi klien.

Skrip Klien - Nonaktifkan Kontrol Sentuhlocal GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false