ScreenGui konteyneri, bir oyuncunun ekranında görüntülemek için GuiObjects içerir; bunlara çerçeveler, etiketler, düğmeler ve daha fazlası dahildir. Tüm ekrandaki UI nesneleri ve kodlar istemci üzerinde saklanır ve değiştirilir.

Bir ScreenGui ve onun altındaki GuiObjects nesnelerini deneyime katılan her oyuncuya göstermek için, bunları StarterGui konteynerinin içine yerleştirin. Bir oyuncu deneyime katıldığında ve karakteri ilk olarak doğduğunda, ScreenGui ve içeriği, Players konteyneri içinde yer alan o oyuncunun PlayerGui konteynerine kopyalanır.

Deneyim kapsamı genişledikçe, başlık ekranı, ayarlar menüsü, dükkan arayüzü gibi birden fazla ekran arayüzüne ihtiyaç duyabilirsiniz. Bu tür durumlarda, StarterGui içinde birden fazla benzersiz ScreenGui konteyneri yerleştirip, her konteynerin Enabled özelliğini görünür ve aktif olup olmayacağına bağlı olarak açıp kapatabilirsiniz (değeri false olduğunda, içerikler görüntülenmez, kullanıcı girdilerini işlenmez veya değişikliklere yanıt olarak güncellenmez).

Enabled özelliği, başlangıçta Özellikler penceresi aracılığıyla açılıp kapatılabilir ve/veya oynanış sırasında, oyuncunun PlayerGui'sine erişerek istenilen konteynerler için true veya false olarak ayarlanabilir.
Konteyner özellikleri
Aşağıdaki özellikler, birden fazla cihazda ekran kenar boşluklarını özelleştirmenizi, birden fazla ekran konteyneri kullanırken gösterim sırasını belirlemenizi ve daha fazlasını 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österim sırası
Birden fazla ScreenGui arayüzü kullanırken, bunları DisplayOrder özelliği aracılığıyla Z-index ile üst üste yerleştirebilirsiniz. Örneğin, deneyimin ana kullanıcı arayüzünün önünde bir ScreenGui üzerindeki modal ayarlar menüsünü göstermek için modalın DisplayOrder değerini alt arayüzden daha yüksek olarak atayın.
Yeniden doğumda sıfırlama
ResetOnSpawn boolean özelliği, ScreenGui'nin her seferde sıfırlanıp sıfırlanmayacağını (kendini silip oyuncunun PlayerGui'sine yeniden kopyalanmasını) belirler.
| Durum | Sıfırlar |
|---|---|
| ResetOnSpawn değeri true (varsayılan). | EVET |
| ScreenGui dolaylı bir alt nesne olduğunda; örneğin StarterGui içinde bulunan bir Folder'ın içine yerleştirildiğinde. | EVET |
| ResetOnSpawn değeri false ve ScreenGui doğrudan bir alt nesne olduğunda StarterGui'nin. | HAYIR |
Oyuncu UI'sine erişim
Belirtildiği gibi, bir ScreenGui'yi StarterGui'ye bağlamak, oyuncunun deneyime katılması ve karakteri ilk olarak doğması sırasında onu ve altındaki GuiObjects nesnelerini oyuncunun PlayerGui konteynerine kopyalar.
Eğer bir oyuncunun UI konteynerini oyun sırasında kontrol etmeniz gerekiyorsa, örneğin belirli bir ScreenGui veya altındaki herhangi bir şeyi göstermek/gizlemek için, bunu LocalScript içinden aşağıdaki gibi erişebilirsiniz:
LocalScript - Bir Oyuncunun UI'sine Erişimlocal Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Başlık ekranını gizlesettingsMenu.Enabled = true -- Ayarlar menüsünü göster
Varsayı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 |

İstemci Scripti - Varsayılan UI Öğelerini Devre Dışı Bıraklocal StarterGui = game:GetService("StarterGui")-- Varsayılan sağlık çubuğu ve sırt çantasını devre dışı bırakStarterGui: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.

İstemci Scripti - Dokunmatik Kontrolleri Devre Dışı Bıraklocal GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false