ProximityPrompt วัตถุส่งเสริมการโต้ตอบของผู้ใช้เพื่อกระตุ้นการดำเนินการเมื่อพวกเขาใกล้วัตถุในประสบการณ์เช่นประตู สวิตช์แสง และปุ่มโดยใช้วัตถุนี้ คุณสามารถ:
- บ่งบอกวัตถุที่ผู้ใช้สามารถโต้ตอบได้ในประสบการณ์
- แสดงการดำเนินการที่ผู้ใช้สามารถดำเนินการกับวัตถุได้ จากนั้นกระตุ้นการดำเนินการผ่านการใส่ข้อมูลของผู้ใช้เช่นการกดหรือกดค้างปุ่ม
- แสดงการใส่ที่ถูกต้องสำหรับทุกประเภทของการใส่ เช่น แป้นพิมพ์ เกมแพด และแป้นสัมผัส
สร้างคําเตือนระยะทาง
คุณต้องส่งคำเตือนความใกล้ชิดไปยังส่วน โมเดล หรือแนบเนียนที่คุณต้องการให้ผู้ใช้โต้ตอบเพื่อเพิ่มคำเตือนระยะไกลไปยังวัตถุ BasePart หรือ Model หรือ Attachment :
- ในหน้าต่าง สํารวจ เลื่อนเมาส์ไปเหนือ BasePart , Model หรือ Attachment และคลิกปุ่ม ⊕ จะปรากฏเมนูบริบท
- จากเมนูใส่ ProximityPrompt
ปรับแต่งคําเตือนระยะทาง
คุณสามารถปรับแต่งคำเตือนระยะไกลตามวิธีที่คุณต้องการให้ปรากฏ เมื่อคุณต้องการให้มันปรากฏ และสิ่งที่คุณต้องการให้ผู้ใช้ทำเพื่อ กระตุ้นการดำเนินการ
รูปลักษณ์
คำเตือนระยะใกล้ต้องสื่อสารสามสิ่ง:
- วัตถุ ที่ผู้ใช้สามารถโต้ตอบได้ ที่ผู้ใช้สามารถโต้ตอบได้
- การดำเนินการ ที่เกิดขึ้นเมื่อพวกเขาโต้ตอบกับคําแจ้งระยะไกล เมื่อพวกเขาโต้ตอบกับคําแจ้งระยะไกล
- กุญแจ ที่ผู้ใช้ต้องกดหรือกดค้าง ที่ต้องกด
คุณสามารถระบุสิ่งเหล่านี้ผ่านคุณสมบัติต่อไปนี้:
ObjectText ชื่อทางเลือกสำหรับวัตถุที่ผู้ใช้สามารถโต้ตอบได้
ActionText ชื่อทางเลือกสำหรับการดำเนินการที่ผู้ใช้จะกระตุ้น
KeyboardKeyCode แอ็คชัน
GamepadKeyCode แอ็คชัน
การมองเห็น
คุณสามารถควบคุมเมื่อมีการแจ้งเตือนระยะไกลปรากฏผ่านคุณสมบัติ MaxActivationDistance , RequiresLineOfSight และ Exclusivity ได้
ระยะการเปิดใช้งานสูงสุด
คุณสมบัติ MaxActivationDistance ช่วยให้คุณสามารถกำหนดช่วงจากรอบวัตถุ ProximityPrompt ที่เปิดใช้งานการแสดงผลของคําเตือนความใกล้ชิดเมื่อตัวละครของผู้ใช้เข้าสู่ช่วงดังกล่าว แจ้งเตือนความใกล้ชิดจะปรากฏขึ้น

ต้องใช้ LineOfSight
คุณสมบัติ RequiresLineOfSight เปิดใช้งานการมองเห็นของคําแนะนําความใกล้เมื่อมีเส้นทางที่ชัดเจนจาก กล้อง ไปยัง ProximityPromptโดยค่าเริ่มต้นคุณสมบัตินี้จะถูกตั้งค่าเป็นจริง
ความพิเศษ
หากตัวละครของผู้ใช้อยู่ภายในระยะของคําเตือนหลายระยะ ความเห็นแก่ตัวของแต่ละคําเตือนความใกล้ชิดขึ้นอยู่กับคําเตือนความใกล้ชิดที่กล้องชี้ไปที่และมูลค่าความเห็นความใกล้ชิดของแต่ละคําเตือน

การโต้ตอบ
คุณสามารถปรับแต่งวิธีที่ผู้ใช้โต้ตอบกับคําเตือนความใกล้ชิดผ่านคุณสมบัติ HoldDuration และ ClickablePrompt ได้
ระยะเวลาการถือ
คุณสมบัติ HoldDuration กำหนดจำนวนวินาทีที่ผู้ใช้ต้องกดปุ่มก่อนที่การดำเนินการของคำขอระยะไกลจะเริ่มต้นหากคุณสมบัตินี้มีค่าเป็น 0 แอคชันของคำเตือนระยะใกล้จะถูกเรียกใช้ทันที
คลิกได้รับคำเตือน
คุณสมบัติ ClickablePrompt ระบุว่าผู้ใช้สามารถคลิกที่คําเตือนความใกล้ชิดเพื่อเรียกใช้การดําเนินการได้หรือไม่เมื่อตั้งค่าเป็น true ผู้ใช้สามารถโต้ตอบกับคําเตือนความใกล้ชิดโดยคลิกที่คําเตือนความใกล้ชิดโดยตรงโดยกดปุ่มที่กําหนดไว้ หรือ โดยกดปุ่มที่กําหนดเมื่อตั้งค่าเป็น ปิด ผู้ใช้สามารถโต้ตอบกับคําเตือนความใกล้ชิดได้โดยกดปุ่มที่กำหนดเท่านั้น
คําแนะนําระยะใกล้ของสคริปต์
คุณสามารถเชื่อมต่อกับอีเวนต์คําเตือนระยะไกลได้ทั้งในวัตถุ ProximityPrompt เองหรือทั่วโลกผ่าน ProximityPromptServiceThe ProximityPromptService ช่วยให้คุณสามารถจัดการพฤติกรรมคําเตือนทั้งหมดจากตําแหน่งเดียวได้ ป้องกันความจำเป็นในการใช้รหัสซ้ําในประสบการณ์ของคุณ
อีเวนต์ | คําอธิบาย |
---|---|
PromptTriggered | จะเกิดไฟไหม้เมื่อผู้เล่นโต้ตอบกับคำเตือนความใกล้ชิด (หลังระยะเวลาสําหรับคําเตือนที่ไม่เป็นศูนย์ HoldDuration ) |
PromptTriggerEnded | เกิดขึ้นเมื่อผู้เล่นหยุดโต้ตอบกับคำเตือนความใกล้ชิด |
PromptButtonHoldBegan | จะเกิดไฟไหม้เมื่อผู้เล่นเริ่มโต้ตอบกับคําเตือนระยะไกลด้วยค่าไม่เป็นศูนย์ HoldDuration ค่า |
PromptButtonHoldEnded | จะเกิดไฟไหม้เมื่อผู้เล่นหยุดโต้ตอบกับคําเตือนระยะไกลที่มีค่าไม่เป็นศูนย์ HoldDuration ค่า |
PromptShown | การกระตุ้นใน LocalScripts เมื่อมีการทำให้คำเตือนระยะไกลเป็นที่เห็น |
PromptHidden | การกระตุ้นใน LocalScripts เมื่อมีการซ่อนคําแนะนํา |
ตัวอย่างโค้ดต่อไปนี้รวมถึงกรอบพื้นฐานสำหรับการใช้ ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- ตรวจจับเมื่อมีการกระตุ้นคําขอ
local function onPromptTriggered(promptObject, player)
end
-- ตรวจสอบเมื่อการจับค้างเริ่ม
local function onPromptHoldBegan(promptObject, player)
end
-- ตรวจจับเมื่อสิ้นสุดการกดปุ่มถาม
local function onPromptHoldEnded(promptObject, player)
end
-- เชื่อมต่ออีเวนต์คําสั่งให้กับฟังก์ชันการจัดการ
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)