Ekran üzeri UI konteynerleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

The ScreenGui konteyneri, GuiObjects , çerçeveler , etiketler , düğmeler ve daha fazlasını içeren bir oyuncunun ekranında görüntülemek için tutar .Tüm ekran üzeri UI nesneleri ve kodları istemci üzerinde saklanır ve değiştirilir.

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

Deneyime katılan her oyuncuya bir ScreenGui ve onun çocuğu GuiObjects görüntülemek için, bunu StarterGui konteynerinin içine yerleştirin.Bir oyuncu bir deneyime katıldığında ve karakteri ilk oluştuğunda, ScreenGui ve içeriği o oyuncunun içinde bulunan PlayerGui konteynere klonlanır, konteynerin içinde bulunan Players konteynere.

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

Bir deneyim kapsamda büyüdükçe, bir başlık ekranı, ayar menüsü, mağaza arayüzü ve daha fazlası gibi çok sayıda ekran arayüzü gerekebilir.Bu gibi durumlarda, çok sayıda benzersiz ScreenGui konteynerini StarterGui içine yerleştirebilir ve her bir konteynerin Enabled özelliğini görünür ve aktif olmasına bağlı olarak değiştirebilirsiniz (false sırasında içerik görünmez, kullanıcı girişini işler veya değişikliklere yanıt olarak güncellenir).

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

Enabled özelliği başlangıçta Özellikler penceresi aracılığıyla veya bir istemci tarafı kodundan oyun sırasında oynatma sırasında erişerek oyuncunun PlayerGui veya istediğiniz konteyner(ler) için true için ayarlanabilir veya false seçilebilir.

Konteyner özellikleri

Aşağıdaki özellikler, çok sayıda cihazda ekran yerleşimlerini özelleştirmenizi, çok sayıda ekran konteyneri kullanırken görüntü düzenini değiştirmenizi ve daha fazlasını sağlar.

Ekran içerikleri

Modern telefonlar tüm ekrandan yararlanır, ancak genellikle ekran alanını dolduran notlar, kesintiler ve diğer elemanlar içerir.Her Roblox deneyimi ayrıca ana menüye hızlı erişim için üst çubuk kontrolleri , sohbet, lider tablosu ve daha fazlasını içerir.

Mobile device showing Roblox top bar buttons and device cutout.

Oyuncuların tüm UI'lere kolayca ve engellemeden erişebilmesini ve görebilmesini sağlamak için, Roblox bir öğesinin içeriğini güvenli alan olarak kontrol eden özelliğini sağlar, böylece bir içeriğinin içeriğine erişebilir.

Varsayılan CoreUISafeInsets tüm alt seviyeler GuiObjects çekirdek UI güvenli alanında tutar, üst çubuk düğmeleri ve diğer ekran kesintilerinden temizlenir.Bu ayar, ScreenGui etkileşimli kullanıcı arayüzü öğeleri içeriyorsa önerilir.

Mobile device showing the core UI safe area.

Siparişi görüntüle

Çok sayıda ScreenGui arayüz kullanırken, onların DisplayOrder özellikleri aracılığıyla Z‑index ile katmanlayabilirsiniz.Örneğin, deneyimin ana kullanıcı arayüzünde bir önünde bir modal ayar menüsü görüntülemek için, modal'ın temel arayüzden daha yüksek bir 'e atayın.

Doğma sırasında sıfırlama

The Boolean özelliği, oyuncunun karakteri her yeniden doğduğunda sıfırlar (kendini sildi ve oyuncunun karakterini yeniden klonladı) ve oyuncunun karakteri her yeniden doğduğunda sıfırlar.

KoşulSıfırlamalar
ResetOnSpawn varsayılan true 'dir.
yes
The ScreenGui is an dolaylı descendant of StarterGui ; örneğin, bir Folder içine yerleştirilmiştir, StarterGui içinde bulunan bir yerdedir.
yes
ResetOnSpawn is false ve ScreenGui bir doğrudan düşüşüdür StarterGui .
no

Oyuncu UI'sine erişim

Not edildiği gibi, bir ScreenGui 'yi StarterGui klonlamak ve onun çocuğunu GuiObjects bir oyuncunun PlayerGui kutusuna yerleştirmek, deneyime ve karakterlerinin ilk oluşturulmasına katıldıklarında.

Örneğin, bir oyuncunun oynatma sırasındaki UI kutusunu kontrol etmeniz gerekiyorsa, belirli bir ScreenGui veya çocuklarının gösterilmesi/gizlenmesi gerekiyorsa, buna şu şekilde erişin: LocalScript :

YerelScript - Bir Oyuncuya Erişim'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 -- Başlık ekranını kapat
settingsMenu.Enabled = true -- Show settings menu

Varsayılan UI'yi devre dışı bırak

Tüm Roblox deneyimleri varsayılan olarak etkinleştirilen birkaç UI öğesi içerir.Bu elemanlardan herhangi birine ihtiyacınız yoksa veya onları kendi yaratımlarınızla değiştirmek istiyorsanız, ilişkili Enum.CoreGuiType seçeneği ile bir istemci tarafındaki 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 tam sağlıkta olduğunda görünmez.Enum.CoreGuiType.Health
Karakterin Backpack içinde bulunan deneyim araçları . Çantada hiçbir Tools yoksa görünmez.Enum.CoreGuiType.Backpack
The metin sohbeti penceresi.Enum.CoreGuiType.Chat
Karakterin ifadeleri içeren popup menüsü.Enum.CoreGuiType.EmotesMenu
Bir oyuncunun perspektifini veya kendi karakterinin görüşünü gösteren bir pencere.Oyuncu Roblox menüsünden Kendi Görüşü nü etkinleştirmedikçe görünmez.Enum.CoreGuiType.SelfView
Ekranın sağ tarafı boyunca bir ekran görüntüsü alma düğmesi.Oyuncu Roblox menüsünden Kapatma etkinleştirmediği sürece görünmez.Enum.CoreGuiType.Captures
Core UI elements in every Roblox experience.
Müşteri Kodu -Varsayılan UI Öğelerini Devre Dışı Bırakma

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, dokunma yeteneklerine sahip cihazlar varsayılan olarak sanal bir joystick ve bir atlama düğmesi içerir.İstendiğinde, bu öğeleri bir istemci tarafındaki kriptografi içine ayarlayarak gizleyebilirsiniz.

UI elements for touch-capable devices in every Roblox experience
Client Scripti - Dokunma Kontrollerini Devre Dışı Bırak

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