เมนูบริบทของอวาตาร์

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

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

หลังจากที่ เปิดใช้งาน ACM ในเกมของคุณแล้ว คุณสามารถปรับแต่ง ACM ได้ในหลายวิธี:

เปิดเมนูบริบทของอวาตาร์

เมนูบริบทของอวาตาร์ต้องเปิดใช้งานโดยใช้ตัวเลือก StarterGui:SetCore() "AvatarContextMenuEnabled" ใน LocalScript ACM เหมาะที่สุดสำหรับเกมที่ไม่มีพฤติกรรมที่กำหนดไว้ล่วงหน้าสำหรับการคลิกที่ผู้ใช้คนอื่น

ใช้โค้ดตัวอย่างด้านล่างเพื่อเปิดใช้งาน ACM ใน LocalScript:


-- รันใน LocalScript, โดยปกติใน "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

หากคุณต้องการตรวจสอบว่า ACM เปิดใช้งานอยู่หรือไม่ คุณสามารถใช้โค้ดต่อไปนี้เพื่อตรวจสอบสถานะปัจจุบันของ ACM:


--- ส่งคืนบูลีนที่บอกว่า ACM เปิดใช้งานอยู่หรือไม่
StarterGui:GetCore(AvatarContextMenuEnabled)

เปิดและปิด ACM

เมื่อเปิดใช้งานแล้ว คุณสามารถเปิดและปิด ACM โดยโปรแกรมได้ด้วย StarterGui

เพื่อเปิด ACM โดยโปรแกรม ให้ใช้โค้ดต่อไปนี้:


-- ใช้ StarterGui:SetCore โดยที่ targetPlayer เป็นวัตถุ Player ที่ถูกต้อง
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

เพื่อปิด ACM โดยโปรแกรม ให้ใช้โค้ดต่อไปนี้:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

ตัวเลือกเมนู

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

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

เมื่อ ACM เปิดอยู่ ผู้ใช้สามารถเลื่อนและเลือกผู้ใช้อื่นในคาร์ูเซลการเลือกตัวละคร ตัวละครจะถูกจัดเรียงตามระยะห่างจากตัวละครที่เลือก เมนูจะมีการอัปเดตเฉพาะเมื่อเปิดใช้งาน และรายการของผู้ใช้ที่มีอยู่จะหมุนวนเมื่อเลื่อน

เพิ่มตัวเลือกเมนู

เมื่อเปิดใช้งานแล้ว สามารถเพิ่มการกระทำเฉพาะในเกมไปยัง ACM ตัวอย่างเช่น เกมอาจอนุญาตให้มีคำขอการค้า ตัวเลือกการเพิ่มในกลุ่ม หรือการโต้ตอบพิเศษอื่นๆ

ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มการกระทำที่กำหนดเองในเมนูบริบทของอวาตาร์:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- เชื่อมต่อฟังก์ชันเข้ากับ "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- ณ จุดนี้ คุณสามารถเรียกใช้งาน InvokeServer() บน RemoteFunction เพื่อแจ้งเตือนเซิร์ฟเวอร์เกี่ยวกับการเลือก
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- เพิ่มตัวเลือก ACM โดยใช้ SetCore() พร้อมกับ "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

ลบตัวเลือกเมนู

คุณสามารถลบตัวเลือกที่กำหนดเองและตัวเลือกเริ่มต้น เพื่อน แชท ดู และโบกมือจาก ACM โดยการอ้างอิงชื่อการกระทำที่กำหนดเองหรือตัวเลือก Enum.AvatarContextMenuOption ที่มีอยู่

ใช้โค้ดต่อไปนี้เพื่อลบตัวเลือกเมนูเริ่มต้นและแบบกำหนดเอง:


-- ลบตัวเลือก "Custom ACM Action"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")
-- ลบตัวเลือกเริ่มต้น "เพื่อน" โดยอ้างอิง Enum AvatarContextMenuOption.Friend
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

ปรับแต่งรูปลักษณ์ของเมนู

เพื่อเปลี่ยนรูปลักษณ์ของเมนูบริบทของอวาตาร์ ให้เรียกใช้ StarterGui:SetCore() ด้วยตัวเลือก "AvatarContextMenuTheme" โดยให้ตารางของพารามิเตอร์และค่าเพื่อปรับแต่งรูปลักษณ์ของเมนู

อินเตอร์เฟซผู้ใช้ของ ACM ประกอบด้วยส่วนต่างๆ ดังนี้:

A. แท็กชื่อ: ชื่อผู้ใช้ของตัวละครที่ถูกโต้ตอบด้วย

B. กรอบปุ่ม: มีปุ่มทั้งหมดของ ACM

C. ปุ่ม: ปุ่มแต่ละปุ่มสำหรับการดำเนินการ ACM เริ่มต้นหรือตามที่กำหนดเอง

พารามิเตอร์รูปลักษณ์

นี่คือพารามิเตอร์การปรับแต่งของ ACM:

พื้นหลัง

BackgroundColorสี Color3 สำหรับพื้นหลังโดยรวมของ ACM (มีประโยชน์ที่สุดเมื่อไม่ใช้ภาพพื้นหลัง)
BackgroundTransparencyค่าความโปร่งใส (0–1) สำหรับพื้นหลังโดยรวมของ ACM (มีประโยชน์ที่สุดเมื่อไม่ใช้ภาพพื้นหลัง)
BackgroundImageID ของสินทรัพย์ที่ถูกต้องสำหรับภาพพื้นหลังของ ACM
BackgroundImageTransparencyค่าความโปร่งใส (0–1) สำหรับภาพพื้นหลัง
BackgroundImageScaleTypeอีลิเมนต์ Enum.ScaleType สำหรับการปรับขนาดภาพพื้นหลัง
BackgroundImageSliceCenterRect ที่ระบุศูนย์กลางของภาพที่แบ่งเป็นเก้าเมื่อ BackgroundImageScaleType ถูกตั้งเป็น Enum.ScaleType.Slice

แท็กชื่อ

NameTagColorสี Color3 สำหรับแถบที่แสดงผู้เล่นที่กำลังโต้ตอบด้วย
NameUnderlineColorสี Color3 สำหรับเส้นบางๆ ระหว่างแท็กชื่อและปุ่มการกระทำ

กรอบปุ่ม

ButtonFrameColorสี Color3 สำหรับส่วน (กรอบ) ที่มีปุ่มการกระทำ
ButtonFrameTransparencyค่าความโปร่งใส (0–1) สำหรับส่วนกรอบปุ่ม

ปุ่ม

ButtonColorสี Color3 สำหรับพื้นหลังของปุ่มการกระทำ ACM
ButtonTransparencyค่าความโปร่งใส (0–1) สำหรับสีพื้นหลังของปุ่มการกระทำ
ButtonHoverColorสี Color3 สำหรับสถานะ "เลื่อนเมาส์" ของปุ่มการกระทำ
ButtonHoverTransparencyค่าความโปร่งใส (0–1) สำหรับสี "เลื่อนเมาส์" ของปุ่มการกระทำ
ButtonUnderlineColorสี Color3 สำหรับเส้นบางๆ ที่แยกแต่ละปุ่มการกระทำ
ButtonImageID ของสินทรัพย์ที่ถูกต้องสำหรับภาพพื้นหลังของปุ่ม
ButtonImageScaleTypeอีลิเมนต์ Enum.ScaleType สำหรับการปรับขนาดภาพของปุ่ม
ButtonImageSliceCenter Rect ที่ระบุศูนย์กลางของภาพที่แบ่งเป็นเก้าเมื่อ ButtonImageScaleType ถูกตั้งเป็น Enum.ScaleType.Slice

ข้อความ

Fontอีลิเมนต์ Enum.Font สำหรับแท็กชื่อและข้อความบนปุ่ม
TextColorสี Color3 สำหรับข้อความทั้งหมดใน ACM
TextScaleค่าฟลอทเพื่อปรับขนาดของข้อความเริ่มต้นของแต่ละองค์ประกอบ

รูปภาพต่างๆ

LeaveMenuImageID ของสินทรัพย์สำหรับภาพปุ่มปิด ACM
ScrollLeftImageID ของสินทรัพย์สำหรับภาพปุ่ม "เลื่อนซ้าย" ในคาร์ูเซล
ScrollRightImageID ของสินทรัพย์ที่ถูกต้องสำหรับภาพปุ่ม "เลื่อนขวา" ในคาร์ูเซล

ตัวละครที่เลือก

SelectedCharacterIndicator MeshPart ที่ลอยอยู่เหนือหัวของตัวละครเพื่อระบุว่าตัวละครนั้นถูกเลือก

ขนาดและตำแหน่ง

Size UDim2 สำหรับขนาดโดยรวมของ ACM
MinSize Vector2 ที่ระบุขนาดขั้นต่ำของ ACM
MaxSize Vector2 ที่ระบุขนาดสูงสุดของ ACM
AspectRatioค่าฟลอทที่ระบุความกว้างและความสูงสัมพัทธ์ของ ACM
AnchorPoint AnchorPoint ของ ACM
OnScreenPosition UDim2 ที่ระบุตำแหน่งของ ACM บนหน้าจอ (ตำแหน่งที่มันจะแปรเปลี่ยนเมื่อเปิด)
OffScreenPosition UDim2 ที่ระบุตำแหน่งของ ACM นอกหน้าจอ (ตำแหน่งที่มันจะแปรเปลี่ยนจาก/ไปเมื่อเปิด/ปิด)

ตัวอย่างการปรับแต่ง

โค้ดตัวอย่างต่อไปนี้ปรับแต่งธีมของ ACM โดยใช้พารามิเตอร์พื้นฐานบางประการ:


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuTheme", {
BackgroundImage = "",
BackgroundTransparency = 0.5,
BackgroundColor = Color3.fromRGB(111, 145, 242),
NameTagColor = Color3.fromRGB(0, 0, 200),
NameUnderlineColor = Color3.fromRGB(213, 233, 255),
ButtonFrameColor = Color3.fromRGB(15, 24, 65),
ButtonFrameTransparency = 0.2,
ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),
Font = Enum.Font.SciFi
})
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ