Kontainer UI di Layar

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

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.

Contoh ScreenGui dengan berbagai anak GuiObject, termasuk Frame, TextLabel, TextBox, dan ImageButton.

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.

Diagram tentang bagaimana ScreenGui dikloning dari StarterGui ke PlayerGui pemain

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

Hierarki Explorer yang menunjukkan beberapa kontainer ScreenGui, satu diaktifkan dan lainnya dinonaktifkan, untuk mengontrol mana yang terlihat pada waktu tertentu.

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.

Perangkat mobile menunjukkan tombol bilah atas Roblox dan potongan perangkat.

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.

Perangkat mobile menunjukkan area aman UI inti.

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.

KondisiDireset
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 Pemain

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 -- 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 DefaultEnum 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
Elemen UI inti di setiap permainan Roblox.
Skrip Klien - Nonaktifkan Elemen UI Default

local StarterGui = game:GetService("StarterGui")
-- Nonaktifkan bar kesehatan dan ransel default
StarterGui: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.

Elemen UI untuk perangkat yang mendukung sentuhan di setiap permainan Roblox.
Skrip Klien - Nonaktifkan Kontrol Sentuh

local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.