ภาชนะ UI บนหน้าจอ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

คอนเทนเนอร์ ScreenGui เก็บ GuiObjects เพื่อแสดงบนหน้าจอของผู้เล่นรวมถึง เฟรม , แท็บ , ปุ่ม และอื่นๆวัตถุและรหัส UI บนหน้าจอทั้งหมดจะถูกจัดเก็บและเปลี่ยนแปลงบนไคลเอนต์

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

เพื่อแสดง ScreenGui และลูกหลานของมัน GuiObjects ให้กับผู้เล่นทุกคนที่เข้าร่วมประสบการณ์ วางไว้ภายในคอนเทนเนอร์ StarterGuiเมื่อผู้เล่นเข้าร่วมประสบการณ์และตัวละครของพวกเขาเกิดขึ้นครั้งแรก คอนเทนต์ ScreenGui และคอนเทนต์ของมันจะสําเนาในคอนเทนเนอร์ PlayerGui สําหรับผู้เล่นคนนั้น ตั้งอยู่ภายในคอนเทนเนอร์ Players

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

เมื่อประสบการณ์เติบโตในขอบเขตคุณอาจต้องการหลายอินเทอร์เฟซหน้าจอเช่นหน้าจอชื่อการตั้งค่าเมนูร้านค้าและอื่น ๆในกรณีเช่นนี้ คุณสามารถวางคอนเทนเนอร์ที่ไม่ซ้ำกันหลายตัว ภายใน และสลับคุณสมบัติของแต่ละคอนเทนเนอร์ตามว่าควรจะปรากฏและใช้งานได้ (ในขณะที่ เนื้อหาจะไม่แสดง ประมวลผลการป้อนข้อมูลของผู้ใช้ หรืออัปเดตตามการเปลี่ยนแปลง)

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

คุณสมบัติ สามารถเปิดใช้งานได้ในตอนแรกผ่านหน้าต่าง คุณสมบัติ หรือคุณสามารถตั้งค่าไว้ในระหว่างเวลาเล่นจากสคริปต์ด้านคลายโดยการเข้าถึง ของผู้เล่น และตั้งค่าเป็น หรือ สำหรับคอนเทนเนอร์ที่ต้องการ

คุณสมบัติของคอนเทนเนอร์

คุณสมบัติต่อไปนี้ช่วยให้คุณปรับแต่ง การแสดงผลบนหน้าจอ ข้ามอุปกรณ์หลายเครื่อง, ลำดับการแสดงผลเมื่อใช้ภาชนะหน้าจอหลายตัว และอื่นๆ

ส่วนหน้าจอใส่

โทรศัพท์รุ่นใหม่ใช้ประโยชน์จากทั้งหน้าจอ แต่มักจะรวมถึงช่องว่าง รูเจาะ และองค์ประกอบอื่นๆ ที่ใช้พื้นที่หน้าจอประสบการณ์ Roblox ทุกประสบการณ์ยังรวมถึงการควบคุมแถบด้านบนสำหรับการเข้าถึงเมนูหลักอย่างรวดเร็ว แชท ลีดเดอร์บอร์ด และอื่นๆ

Mobile device showing Roblox top bar buttons and device cutout.

เพื่อให้แน่ใจว่าผู้เล่นสามารถเห็นและเข้าถึง UI ทั้งหมดได้อย่างง่ายดายและไม่มีสิ่งกีดขวาง Roblox จะให้คุณสมบัติ ScreenInsets ซึ่งควบคุมการสอด ปลอดภัย สำหรับเนื้อหาของ ScreenGui

ค่าเริ่มต้นของ CoreUISafeInsets เก็บลูกหลานทั้งหมด GuiObjects ภายในพื้นที่ปลอดภัย UI หลักโดยล้างปุ่มแถบด้านบนและส่วนตัดหน้าจออื่นๆการตั้งค่านี้แนะนำหาก ScreenGui มีองค์ประกอบ UI โต้ตอบ

Mobile device showing the core UI safe area.

แสดงลำดับ

เมื่อใช้หลายอินเทอร์เฟซ ScreenGui คุณสามารถจัดเรียงพวกเขาตามดัชนี Z ผ่านคุณสมบัติของพวกเขา DisplayOrderตัวอย่างเช่น เพื่อแสดงเมนูการตั้งค่าโมดัลบนหน้าจอหนึ่ง ScreenGui ข้างหน้าอินเทอร์เฟซผู้ใช้หลักของประสบการณ์บนอีก ScreenGui ให้กำหนดค่าสูงกว่า DisplayOrder สำหรับโมดัลมากกว่าอินเทอร์เฟซพื้นฐาน

รีเซ็ตเมื่อเกิดใหม่

คุณสมบัติ boolean ResetOnSpawn จะกำหนดว่าการรีเซ็ต ScreenGui จะเกิดขึ้น (ลบตัวเองและสร้างซ้ำในตัวละครของผู้เล่น PlayerGui) ทุกครั้งที่ตัวละครของผู้เล่นเกิดใหม่

สภาวะรีเซ็ต
ResetOnSpawn คือ true (ปกติ)
yes
The ScreenGui เป็น ลูกหลานโดยตรง ของ StarterGui ; ตัวอย่างเช่น มันถูกวางไว้ภายใน Folder ที่ตั้งอยู่ภายใน StarterGui
yes
คือ และ คือ ลูกหลานโดยตรงของ .
no

เข้าถึง UI ผู้เล่น

ตามที่ระบุไว้ การเป็นพ่อแม่ของ ไปยัง สําหรับลูกและลูกของมัน ในคอนเทนเนอร์ผู้เล่นของผู้เล่นเมื่อพวกเขาเข้าร่วมประสบการณ์และตัวลูกของพวกเขาเกิดครั้งแรก

หากต้องการควบคุมคอนเทนเนอร์ UI ของผู้เล่นในระหว่างเวลาเล่นเพื่อแสดง/ซ่อนสิ่งเฉพาะ ScreenGui หรือใดๆ ของลูกหลานของมัน ให้เข้าถึงได้ดังนี้จาก LocalScript :

สคริปท์ท้องถิ่น - การเข้าถึงผู้เล่น'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 -- ซ่อนหน้าจอชื่อ
settingsMenu.Enabled = true -- Show settings menu

ปิดใช้งาน UI เริ่มต้น

ประสบการณ์ Roblox ทั้งหมดรวมถึงหลายองค์ประกอบ UI ที่เปิดใช้งานโดยค่าเริ่มต้นหากคุณไม่ต้องการองค์ประกอบใดๆ เหล่านี้หรือต้องการแทนที่ด้วยสิ่งประดิษฐ์ของคุณเอง คุณสามารถใช้วิธี SetCoreGuiEnabled() ในสคริปต์ด้านคลายด้วยตัวเลือก Enum.CoreGuiType ที่เกี่ยวข้อง

UI เริ่มต้นรายการที่เกี่ยวข้อง
อัปเดตรายการอย่างไดนามิก Players ที่ใช้บ่อยเป็นกระดานผู้นำ Enum.CoreGuiType.PlayerList
แถบของตัวละคร Health ไม่ปรากฏถ้าตัวละครของคุณ Humanoid มีสุขภาพเต็มEnum.CoreGuiType.Health
ตัวละคร Backpack ซึ่งมี เครื่องมือในประสบการณ์ ไม่ปรากฏถ้าไม่มี Tools ในกระเป๋าเป้Enum.CoreGuiType.Backpack
หน้าต่าง การแชทข้อความEnum.CoreGuiType.Chat
เมนูป๊อปอัพของตัวละคร อีโมท .Enum.CoreGuiType.EmotesMenu
หน้าต่างที่แสดงมุมมองหรือมุมมองของผู้เล่นหรือตัวละครของตนเองไม่ปรากฏเว้นแต่ผู้เล่นได้เปิดใช้งาน ดูตัวเอง จากเมนู RobloxEnum.CoreGuiType.SelfView
ปุ่ม บันทึกภาพหน้าจอ ที่ด้านขวาของหน้าจอไม่ปรากฏเว้นแต่ผู้เล่นได้เปิดใช้งาน การจับภาพ จากเมนู RobloxEnum.CoreGuiType.Captures
Core UI elements in every Roblox experience.
สคริปต์ไคลเอนต์ - ปิดใช้งานองค์ประกอบ UI เริ่มต้น

local StarterGui = game:GetService("StarterGui")
-- ปิดใช้งานแถบสุขภาพและกระเป๋าเป้เริ่มต้น
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

นอกจากนี้อุปกรณ์ที่มีความสามารถในการแตะรวมถึงสติกเวอร์ชวลและปุ่มกระโดดโดยค่าเริ่มต้นหากต้องการ คุณสามารถซ่อนองค์ประกอบเหล่านี้โดยการตั้ง GuiService.TouchControlsEnabled เป็น false ในสคริปต์ด้านไคลเอนต์

UI elements for touch-capable devices in every Roblox experience
สคริปต์ไคลเอนต์ - ปิดใช้งานการควบคุมแตะ

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