เมนู Avatar Context Menu (ACM) ทำให้ผู้ใช้สามารถใช้งานร่วมกันได้ง่ายขึ้น เมื่อเปิดใช้งาน ACM ในประสบการณ์ของคุณผู้ใช้สามารถเดินขึ้นไปยังตัวละครของผู้ใช้อื่นและ
หลังจากเปิดใช้งาน ACM ในประสบการณ์ของคุณแล้วคุณสามารถปรับแต่ง ACM ได้ด้วยวิธีต่อไปนี้:
- โปรแกรมมิง เปิดและปิด ACM สำหรับผู้ใช้ที่เฉพาะเจาะจง
- [เพิ่มตัวเลือกที่กำหนดเองและ ลบ ตัวเลือกที่มีอยู่ใน ACM](#adding-menu-options)
- ปรับแต่งประสิทธิภาพของ ACM เพื่อสร้างประสิทธิภาพของผู้ใช้ที่ไม่เหมือนใคร
เปิดใช้งาน เมนูบริบทัศน์ของ Avatar
เมนูบริบทัศน์ของอวาตาร์ต้องเปิดใช้งานโดยใช้ตัวเลือก StarterGui:SetCore() ใน LocalScript เมื่อใดก็ตามที่ไม่มีพฤติกรรมการคลิกอื่น ๆ ที่กำหนดไว้
ใช้ตัวอย่างรหัสต่อไปนี้เพื่อเปิดใช้งาน ACM ใน LocalScript :
-- ดำเนินการในโค้ดท้องถิ่น, โดยปกติภายใน "StarterPlayerScripts"local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
หากคุณต้องการตรวจสอบว่า ACM เปิดใช้งานหรือไม่ คุณสามารถใช้รหัสต่อไปนี้เพื่อกลับบูลีนในสถานะปัจจุบันของ ACM:
--กลับมาเป็นค่าตัวละครที่บ่งชี้ว่าเปิดใช้งานหรือไม่StarterGui:GetCore(AvatarContextMenuEnabled)
เปิดและปิด ACM
เมื่อเปิดใช้งานแล้ว, คุณสามารถเปิดและปิดโปรแกรม ACM ได้โดยใช้ StarterGui
เพื่อเปิดโปรแกรมอย่างตรงไปตรงมาใน ACM ใช้รหัสต่อไปนี้:
-- ใช้ StarterGui:SetCore เมื่อ targetPlayer เป็นเหยื่อผู้เล่นที่ถูกต้อง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() บน 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
ใช้รหัสต่อไปนี้เพื่อลบตัวเลือกเมนูที่เป็นปกติและกําหนดเอง:
-- ลบตัวเลือก "การกระทํา ACM ที่กําหนดเอง"StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- ลบตัวเลือก "เพื่อน" ที่เรียบง่ายโดยอ้างอิงจาก AvatarContextMenuOption.Friend EnumStarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
การปรับแต่งรูปลักษณ์เมนู
เพื่อเปลี่ยนแปลงปรากฏตัวของ Avatar Context Menu โปรดโทร StarterGui:SetCore() ด้วยตัวเลือก "AvatarContextMenuTheme" ซึ่งให้ตารางปารามิเตอร์และค่าต่างๆ รูปลักษณ์
ในขณะนี้ UI ผู้ใช้ ACM มีส่วนต่อไปนี้:
ชื่อ A: ชื่อผู้ใช้ของตัวละครที่ใช้งาน
B. โครงสร้างปุ่ม: รวมปุ่มทั้งหมดของ ACM
C. ปุ่ม: ปุ่มเดียวสำหรับการกระทํา ACM ปกติหรือกําหนดเอง
ตัวอ้างการดู
นี่คือตัวแปรการปรับแต่งที่มี ACM:
พื้นหลัง
สีพื้นหลัง | A Color3 สําหรับพื้นหลังทั่วไปของ ACM (มีประโยชน์ที่สุดเมื่อไม่ใช้รูปภาพพื้นหลัง) |
ความโปร่งใสพื้นหลัง | ค่าความโปร่งใส (0-1) สำหรับพื้นหลังทั้งหมดของ ACM (มีประโยชน์ที่สุดเมื่อไม่ใช้ภาพพื้นหลัง) |
รูปประกอบ | รหัสสินทรัพย์ที่ถูกต้องของรูปภาพสำหรับพื้นหลัง ACM |
ความโปร่งใสของภาพพื้นหลัง | ค่าความโปร่งใส (0-1) สำหรับรูปภาพพื้นหลัง |
ชนิดของภาพพื้นหลัง | Enum.ScaleType รายการสำหรับการเพิ่มขนาดรูปภาพพื้นหลัง |
สแน็ปช็อตพื้นหลัง | A Rect ระบุตำแหน่งกึ่งกลางของรูปภาพสามสิบหกเมื่อ BackgroundImageScaleType ตั้งเป็น Enum.ScaleType.Slice |
ชื่อแท็ก
สีแท็กชื่อ | Datatype.Color3 สําหรับแถบที่แสดงผู้เล่นที่ใช้งานร่วมกับผู้เล่นอื่น |
สีของชื่อ | A Color3 สำหรับเส้นบางระหว่างแท็กชื่อและปุ่มดำเนินการ |
เค้าโครงปุ่ม
สีปุ่ม | A Color3 สำหรับส่วน (เฟรม) ที่มีปุ่มการกระทํา |
โปร่งใสของปุ่ม | ค่าความโปร่งใส (0-1) สำหรับเซçãoปุ่ม |
ปุ่ม
สีปุ่ม | A Color3 สําหรับพื้นหลังของปุ่มดําเนินการ ACM |
ความโปร่งใสของปุ่ม | ค่าความโปร่งใส (0-1) สำหรับสีพื้นหลังของปุ่มการกระทำ |
สีเมาส์เมื่อกดปุ่ม | A Color3 สําหรับสถานะ "หมุนเมาส์" ของปุ่มการกระทํา |
ความโปร่งใสของปุ่ม | ค่าความโปร่งใส (0-1) สำหรับสี "โฮเวอร์" ของปุ่มการกระทำ |
สีขอบปุ่ม | A Color3 สำหรับเส้นบางที่แยกแต่ละปุ่มการกระทํา |
รูปปุ่ม | รหัสสินทรัพย์ที่ถูกต้องของรูปภาพสำหรับพื้นหลังของปุ่ม |
ประเภทขนาดของปุ่ม | Entity.ScaleType รายการสำหรับการเพิ่มขนาดของรูปปุ่ม |
ส่วนตัดต้นปุ่ม | A Rect ระบุตำแหน่งกึ่งกลางของรูปภาพสามสลับเมื่อ ButtonImageScaleType ตั้งค่าเป็น Enum.ScaleType.Slice |
ข้อความ
ตัวอักษร | ค่า Enum.Font สําหรับชื่อแท็กและข้อความปุ่ม |
สีข้อความ | A Color3 สําหรับข้อความทั้งหมดภายใน ACM |
ขนาดข้อความ | ค่าตัวลอยตัวอักษรที่จะเพิ่มขนาดข้อความเริ่มต้นของแต่ละองค์ประกอบ |
รูปภาพที่หลากหลาย
ทิ้งรูปเมนู | รหัสสินค้าของรูปภาพสำหรับปุ่มปิด |
สกรีนชุดซ้าย | รหัสสินค้าของรูปภาพสำหรับปุ่ม "เลื่อนซ้าย" สำหรับรถเข็น |
สกรีนช็อต | รหัสสินทรัพย์ที่ถูกต้องของรูปภาพสำหรับปุ่ม "เลื่อนเมาส์ขวา" |
ตัวละครที่เลือก
ตัวอักษรที่เลือก | Class.MeshPart ซึ่งลอยเหนือหัวของตัวละครเพื่อแสดงว่าพวกเขาได้รับการเลือก |
ขนาดและตำแหน่ง
ขนาด | A UDim2 สำหรับขนาดทั้งหมดของ ACM |
ขนาดต่ำสุด | A Vector2 กำหนดขนาดขั้นต่ำของ ACM |
ขนาดสูงสุด | A Vector2 กำหนดขนาดสูงสุดของ ACM |
ระดับมุม | ค่าตัวลอยตัวอย่างที่ระบุความกว้างและความสูงของ ACM |
แอนคูเตอร์พอยท์ | Class.GuiObject.AnchorPoint|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})