ScreenGui konteyneri, bir oyuncunun ekranında görüntülemek için GuiObjects tutar; bunlar arasında çerçeveler, etiketler, butonlar ve daha fazlası bulunur. Tüm ekrandaki UI nesneleri ve kodlar istemci üzerinde saklanır ve değiştirilir.

Her oyuncunun oyuna katıldığında bir ScreenGui ve onun çocuk GuiObjects nesnelerini görüntülemek için, bunu StarterGui konteynerinin içine yerleştirin. Bir oyuncu oyuna katıldığında ve karakteri ilk kez doğduğunda, ScreenGui ve içeriği, Players konteyneri içinde bulunan o oyuncunun PlayerGui konteynerine kopyalanır.

Oyun kapsamı genişledikçe, bir başlık ekranı, ayarlar menüsü, mağaza arayüzü ve daha fazlası gibi birden fazla ekran arayüzüne ihtiyacınız olabilir. Bu gibi durumlarda, StarterGui içinde birden fazla benzersiz ScreenGui konteyneri yerleştirebilir ve her konteynerin Enabled özelliğini görünür ve aktif olup olmamasına göre değiştirebilirsiniz (false olduğunda, içerikler render edilmez, kullanıcı girişini işleme almaz veya değişikliklere yanıt vermez).

Enabled özelliği, Özellikler penceresi aracılığıyla başlangıçta değiştirilebilir ve/veya bir istemci tarafı betiğinden, oyuncunun PlayerGui'sine erişerek istenen konteyner(ler) için true veya false olarak ayarlanabilir.
Konteyner özellikleri
Aşağıdaki özellikler, birden fazla cihazda ekran kenar boşluklarını, birden fazla ekran konteyneri kullanırken görüntüleme sırasını ve daha fazlasını özelleştirmenizi sağlar.
Ekran kenar boşlukları
Modern telefonlar tüm ekranı avantaja çeker, ancak genellikle ekran alanını işgal eden çıkıntılar, kesikler ve diğer öğeleri içerir. Her Roblox oyunu ayrıca ana menüye, sohbet, lider tablosuna ve daha fazlasına hızlı erişim için üst çubuk kontrollerini içerir.

Oyuncuların tüm kullanıcı arayüzünü kolayca görmesini ve erişmesini sağlamak için, Roblox ScreenInsets özelliğini sağlar, bu da bir ScreenGui içeriği için güvenli alan kenar boşluklarını kontrol eder.
CoreUISafeInsets varsayılan ayarı tüm alt öğe GuiObjects'un temel kullanıcı arayüzü güvenli alanı içinde, üst çubuk düğmeleri ve diğer ekran kesitlerinden uzak kalmasını sağlar. Bu ayar, ScreenGui etkileşimli kullanıcı arayüzü öğeleri içeriyorsa önerilir.

Görüntüleme sırası
Birden fazla ScreenGui arayüzü kullanırken, bunları DisplayOrder özelliği aracılığıyla Z-indeksi ile katmanlayabilirsiniz. Örneğin, bir ScreenGui üzerinde bir modal ayarlar menüsünü, oyunun ana kullanıcı arayüzünün önünde görüntülemek için, modalın DisplayOrder değerini, alttaki arayüzden daha yüksek bir değere atayın.
Yeniden başlatma
ResetOnSpawn boolean özelliği, ScreenGui'nin her seferinde sıfırlanıp (kendini silip oyuncunun PlayerGui'sine yeniden kopyalanıp kopyalanmayacağını) belirler.
| Koşul | Yeniden başlatır |
|---|---|
| ResetOnSpawn true (varsayılan). | EVET |
| ScreenGui StarterGui'nin dolaylı bir alt öğesidir; örneğin, StarterGui içinde bulunan bir Folder içine yerleştirilmiştir. | EVET |
| ResetOnSpawn false ve ScreenGui StarterGui'nin doğrudan bir alt öğesidir. | HAYIR |
Oyuncu UI'sine erişim
Daha önce belirtildiği gibi, bir ScreenGui'yi StarterGui'ye yerleştirmek, oyuncu oyuna katıldığında ve karakteri ilk kez doğduğunda onu ve çocuk GuiObjects'i oyuncunun PlayerGui konteynerine kopyalar.
Eğer bir oyuncunun UI konteynerini oyun sırasında kontrol etmeniz gerekiyorsa, örneğin belirli bir ScreenGui'yi göstermek/gizlemek için, bunu bir LocalScript'ten şu şekilde erişebilirsiniz:
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 -- Başlık ekranını gizle
settingsMenu.Enabled = true -- Ayarlar menüsünü gösterVarsayılan UI'yı devre dışı bırak
Tüm Roblox oyunları varsayılan olarak etkinleştirilen birkaç UI öğesi içerir. Eğer bu öğelerden hiçbirine ihtiyacınız yoksa veya bunları kendi oluşturduğunuz öğelerle değiştirmek istiyorsanız, ilgili Enum.CoreGuiType seçeneği ile birlikte bir istemci tarafı scriptinde SetCoreGuiEnabled() yöntemini kullanabilirsiniz.
| Varsayılan UI | İlgili enum |
|---|---|
| Dinamik olarak güncellenen Players listesi, genellikle bir lider tablosu olarak kullanılır. | Enum.CoreGuiType.PlayerList |
| Karakterin Health çubuğu. Karakterin Humanoid'u tam sağlıkta değilse görünmez. | Enum.CoreGuiType.Health |
| Karakterin oyun içi araçları içeren Backpack'i. Eğer sırt çantasında Tools yoksa görünmez. | Enum.CoreGuiType.Backpack |
| Metin sohbet penceresi. | Enum.CoreGuiType.Chat |
| Karakter emotları için açılır menü. | Enum.CoreGuiType.EmotesMenu |
| Bir oyuncunun perspektifini veya kendi karakterine bakış açısını gösteren bir pencere. Oyuncu Kendini Görme'yi Roblox menüsünden etkinleştirmediği sürece görünmez. | Enum.CoreGuiType.SelfView |
| Ekranın sağ tarafında bir screenshot alma butonu. Oyuncu Kayıtlar'ı Roblox menüsünden etkinleştirmediği sürece görünmez. | Enum.CoreGuiType.Captures |
| Avatar Değiştirici, kullanıcıların platform avatarlarını değiştirmesine izin verir. | Enum.CoreGuiType.AvatarSwitcher |

local StarterGui = game:GetService("StarterGui")
-- Varsayılan sağlık çubuğu ve sırt çantasını devre dışı bırak
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)Ayrıca, dokunmatik yeteneklere sahip cihazlar varsayılan olarak sanal bir parmak çubuğu ve bir zıplama butonu içerir. İsterseniz, GuiService.TouchControlsEnabled'ı istemci tarafı scriptinde false olarak ayarlayarak bu öğeleri gizleyebilirsiniz.

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