ตัวเก็บ UI บนหน้าจอ

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

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

ตัวอย่าง ScreenGui ที่มีลูกของ GuiObject หลายตัว รวมถึง Frame, TextLabel, TextBox, และ ImageButton.

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

แผนภาพของวิธีการที่ ScreenGui โคลนจาก StarterGui ไปยัง PlayerGui ของผู้เล่น

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

ลำดับชั้นของ Explorer ที่แสดงตัวเก็บ ScreenGui หลายตัว หนึ่งตัวเปิดใช้งานและอีกหลายตัวปิดใช้งาน เพื่อควบคุมว่าอันไหนจะแสดงในเวลาที่กำหนด

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

คุณสมบัติของตัวเก็บ

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

ขอบหน้าจอ

Modern phones take advantage of the entire screen but typically include notches, cutouts, and other elements that occupy screen space. Every Roblox game also includes the top bar controls for quick access to the main menu, chat, leaderboard, and more.

อุปกรณ์มือถือแสดงปุ่มแถบด้านบนของ Roblox และการตัดออกของอุปกรณ์.

To ensure players can see and access all UI easily and without obstruction, Roblox provides the ScreenInsets property which controls the safe area insets for the contents of a ScreenGui.

The default of CoreUISafeInsets keeps all descendant GuiObjects inside the core UI safe area, clear of the top bar buttons and other screen cutouts. This setting is recommended if the ScreenGui contains interactive UI elements.

อุปกรณ์มือถือแสดงพื้นที่ปลอดภัยของ UI หลัก.

ลำดับการแสดงผล

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

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

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

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

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

ตามที่ได้กล่าวไว้ การตั้งค่าตัวเก็บ ScreenGui ให้เป็น StarterGui จะทำให้มันและลูกของ GuiObjects ถูกโคลนไปยังตัวเก็บ PlayerGui ของผู้เล่นเมื่อพวกเขาเข้าร่วมเกมและตัวละครของพวกเขาเกิดขึ้นครั้งแรก

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

LocalScript - การเข้าถึง 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 -- แสดงเมนูการตั้งค่า

ปิด 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
Avatar Switcher ช่วยให้ผู้ใช้สามารถเปลี่ยนภาพอวตาร์ของแพลตฟอร์มได้Enum.CoreGuiType.AvatarSwitcher
องค์ประกอบ UI หลักในเกม Roblox ทุกเกม
สคริปต์ไคลเอ็นต์ - ปิดใช้งานองค์ประกอบ UI เริ่มต้น
local StarterGui = game:GetService("StarterGui")
-- ปิดใช้งานแถบสุขภาพและกระเป๋า
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

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

องค์ประกอบ UI สำหรับอุปกรณ์ที่รองรับการสัมผัสในเกม Roblox ทุกเกม
สคริปต์ไคลเอ็นต์ - ปิดใช้งานการควบคุมด้วยการสัมผัส
local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ