เมนูบริบทอวาตาร์ (ACM) ทำให้ง่ายต่อการใช้งานสำหรับผู้ใช้ในการโต้ตอบกันเมื่อ ACM เปิดใช้งานในประสบการณ์ของคุณแล้ว ผู้ใช้สามารถเดินไปที่ตัวละครของผู้ใช้รายอื่นและคลิกที่พวกเขาเพื่อเปิดเมนูขนาดเล็กที่มีตัวเลือกเริ่มต้นหลายรายการผู้เล่นสามารถส่งคำขอเพื่อน, เริ่มการแชทส่วนตัว, คำขอเป็นเพื่อน, หรือคลื่นได้
หลังจากเปิดใช้งาน ACM ในประสบการณ์ของคุณ คุณสามารถปรับแต่ง ACM ได้ด้วยวิธีต่อไปนี้:
- เปิดและปิด ACM โดยอัตโนมัติ สำหรับผู้ใช้เฉพาะราย
- ปรับแต่งรูปลักษณ์ของ ACM เพื่อสร้างอินเทอร์เฟซผู้ใช้ที่ไม่ซ้ำกัน
เปิดใช้งานเมนูบริบทอวตาร
เมนูบริบทอวาตาร์จะต้องเปิดใช้งานโดยใช้ตัวเลือก StarterGui:SetCore() "AvatarContextMenuEnabled" ใน LocalScriptACM ใช้ได้ดีที่สุดในประสบการณ์ที่ไม่มีพฤติกรรมที่กำหนดไว้ล่วงหน้าสำหรับการคลิกที่ผู้ใช้รายอื่น
ใช้ตัวอย่างโค้ดต่อไปนี้เพื่อเปิดใช้งาน ACM ใน LocalScript :
-- ทำงานในสคริปท์ท้องถิ่น, อย่างเหมาะสมภายใน "StarterPlayerScripts"local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
หากต้องการตรวจสอบว่า ACM ถูกเปิดใช้งานหรือไม่ คุณสามารถใช้รหัสต่อไปนี้เพื่อส่งคืนค่าเป็นภาษาไบนารีในสถานะปัจจุบันของ ACM:
--ส่งคืนบูลีนที่บ่งบอกถึงว่า ACM ถูกเปิดใช้งานในปัจจุบันหรือไม่StarterGui:GetCore(AvatarContextMenuEnabled)
เปิดและปิด ACM
เมื่อเปิดใช้งานแล้ว คุณสามารถเปิดและปิดโปรแกรม ACM ได้โดยอัตโนมัติด้วย StarterGui
เพื่อเปิด ACM โดยอัตโนมัติใช้รหัสต่อไปนี้:
-- ใช้ StarterGui:SetCore ที่เป้าหมายผู้เล่นเป็นวัตถุผู้เล่นที่ถูกต้องStarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)
เพื่อปิด ACM โดยอัตโนมัติใช้รหัสต่อไปนี้:
StarterGui:SetCore("AvatarContextMenuTarget", nil)
ตัวเลือกเมนู
คุณสามารถ เพิ่ม และ ลบ scriptingโดยค่าเริ่มต้น เมนูมีตัวเลือกต่อไปนี้:
ตัวเลือกเมนู | คําอธิบาย |
---|---|
เพื่อน | ส่งคำขอเพื่อนไปยังผู้ใช้ที่เลือก |
แชท | เปิดการสนทนาส่วนตัวกับผู้ใช้ที่เลือกในแชทในประสบการณ์ |
ดู | เปิดหน้าต่างเพื่อตรวจสอบรูปลักษณ์ของผู้ใช้ที่เลือก |
คลื่น | เริ่มการแอนิเมชั่นคลื่นสำหรับผู้ใช้ที่เลือก |
เมื่อ 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() บนฟังก์ชันระยะไกลเพื่อเตือนเซิร์ฟเวอร์เกี่ยวกับการเลือก
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
ใช้รหัสต่อไปนี้เพื่อลบตัวเลือกเมนูเริ่มต้นและกำหนดเอง:
-- ลบตัวเลือก "การดำเนินการ ACM ที่กำหนดเอง"StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- ลบตัวเลือก "เพื่อน" เริ่มต้นโดยอ้างอิงถึง AvatarContextMenuOption.Friend EnumStarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
ปรับแต่งรูปลักษณ์เมนู
เพื่อเปลี่ยนรูปลักษณ์ของเมนูบริบทอวาตาร์ โทร StarterGui:SetCore() ด้วยตัวเลือก "AvatarContextMenuTheme" โดยให้ตารางของพารามิเตอร์และค่าเพื่อปรับรูปลักษณ์ของเมนู
อินเทอร์เฟซผู้ใช้ ACM รวมถึงส่วนต่อไปนี้:

A. แท็กชื่อ: ชื่อผู้ใช้ของตัวละครที่มีการโต้ตอบ
B. กรอบปุ่ม: มีปุ่ม ACM ทั้งหมด
C. ปุ่ม: ปุ่มเดี่ยวสำหรับการดำเนินการ ACM เริ่มต้นหรือกำหนดเอง
พารามิเตอร์รูปลักษณ์
นี่คือพารามิเตอร์การปรับแต่งที่มี ACM:
พื้นหลัง
สีพื้นหลัง | A Color3 สำหรับพื้นหลังโดยรวมของ ACM (มีประโยชน์มากที่สุดเมื่อไม่ใช้ภาพพื้นหลัง) |
ความโปร่งใสของพื้นหลัง | ค่าความโปร่งใส (0–1) สำหรับพื้นหลังทั่วไปของ ACM (มีประโยชน์มากที่สุดเมื่อไม่ใช้ภาพพื้นหลัง) |
รูปภาพพื้นหลัง | ID สินทรัพย์ที่ถูกต้องของภาพสำหรับพื้นหลัง ACM |
ความโปร่งใสของรูปภาพพื้นหลัง | ค่าความโปร่งใส (0–1) สำหรับภาพพื้นหลัง |
ประเภทขนาดภาพพื้นหลัง | A Enum.ScaleType รายการเลือกสําหรับการปรับขนาดภาพพื้นหลัง |
ศูนย์ภาพพื้นหลัง | A Rect ระบุศูนย์กลางของภาพแปดชิ้นเมื่อ BackgroundImageScaleType ถูกตั้งค่าเป็น Enum.ScaleType.Slice |
แท็กชื่อ
ชื่อแท็กสี | A Color3 สําหรับแถบที่แสดงผู้เล่นที่กําลังโต้ตอบ |
ชื่อสีขอบเบาะ | A Color3 สำหรับเส้นบางระหว่างแท็กชื่อและปุ่มดำเนินการ |
กรอบปุ่ม
สีกรอบปุ่ม | A Color3 สำหรับส่วน (กรอบ) ที่มีปุ่มการดำเนินการ |
ความโปร่งใสของกรอบปุ่ม | ค่าความโปร่งใส (0–1) สำหรับส่วนกรอบปุ่ม |
ปุ่ม
สีปุ่ม | A Color3 สำหรับพื้นหลังของปุ่มการดำเนินการของ ACM |
การโปร่งใสของปุ่ม | ค่าความโปร่งใส (0–1) สำหรับสีพื้นหลังของปุ่มการดำเนินการ |
สีโฮโวปุ่ม | A Color3 สำหรับสถานะ "โฮเวอร์" ของปุ่มแอคชัน |
ปุ่มโฮเวอร์ความโปร่งใส | ค่าความโปร่งใส (0–1) สำหรับสี "โฮเวอร์" ของปุ่มการกระทำ |
สีขอบปุ่ม | A Color3 สำหรับเส้นบางที่แยกปุ่มการกระทำแต่ละปุ่ม |
ภาพปุ่ม | ID สินทรัพย์ที่ถูกต้องของภาพสำหรับพื้นหลังของปุ่ม |
ประเภทภาพปุ่มขนาด | A Enum.ScaleType รายการเลือกสําหรับการปรับขนาดภาพปุ่ม |
ตัวเลือกภาพปุ่มกลาง | A Rect ระบุศูนย์กลางของภาพแปดชิ้นเมื่อ ButtonImageScaleType ถูกตั้งค่าเป็น Enum.ScaleType.Slice |
ข้อความ
ฟอนต์ | A Enum.Font ค่ารายการเอนทิตีสำหรับแท็กชื่อและข้อความปุ่ม |
สีข้อความ | A Color3 สำหรับข้อความทั้งหมดภายใน ACM |
ขนาดข้อความ | มูลค่าลอยตัวเพื่อขยายขนาดข้อความเริ่มต้นของแต่ละองค์ประกอบ |
ภาพต่างๆ
ปล่อยภาพเมนู | รหัสสินทรัพย์ของภาพสำหรับปุ่มปิด ACM |
ภาพเลื่อนซ้าย | ID สินทรัพย์ของรูปภาพสำหรับปุ่ม "เลื่อนไปทางซ้าย" สำหรับแถบเลื่อน |
ภาพการเลื่อนขวา | ID สินทรัพย์ที่ถูกต้องของรูปภาพสำหรับปุ่ม "เลื่อนไปทางขวา" สำหรับแถบเลื่อน |
ตัวละครที่เลือก
ตัวบ่งบอกตัวละครที่เลือก | The MeshPart ซึ่งลอยอยู่เหนือหัวของตัวละครเพื่อบ่งบอกว่าพวกเขาถูกเลือก |
ขนาดและตำแหน่ง
ขนาด | A UDim2 สำหรับขนาดโดยรวมของ ACM |
ขนาดต่ำสุด | A Vector2 กำหนดขนาดขั้นต่ำของ ACM |
ขนาดสูงสุด | A Vector2 กำหนดขนาดสูงสุดของ ACM |
อัตราส่วนมุมมอง | ค่าลอยตัวที่ระบุความกว้างและความสูงที่เป็นสัดส่วนของ ACM |
จุดยึดโยง | The AnchorPoint ของ ACM |
ตำแหน่งบนหน้าจอ | A UDim2 ระบุตำแหน่งบนหน้าจอของ ACM (ตำแหน่งที่เด็กวัยรุ่นเมื่อเปิด) |
ตำแหน่งบนหน้าจอปิด | A 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})
