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

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

เมนูบริบทอวาตาร์ (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 Enum
StarterGui: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
})