เมนูบริบที่บอกผู้ใช้

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

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

หลังจากเปิดใช้งาน ACM ในประสบการณ์ของคุณแล้วคุณสามารถปรับแต่ง 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 Enum
StarterGui: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
})