ProximityPrompt đối tượng khuyến khích sự tương tác của người dùng để kích hoạt một hành động khi họ tiếp cận các đối tượng trong kinh nghiệm như các cửa, công tắc ánh sáng và nút. Bằng cách sử dụng đối tượng này, bạn có thể:
- Chỉ ra những thứ mà người dùng có thể tương tác trong trải nghiệm.
- Hiển thị hành động mà người dùng có thể thực hiện trên một đối tượng, sau đó kích hoạt hành động thông qua người dùng nhập như nhấn hoặc giữ một chìa khóa.
- Hiển thị đúng các lựa chọn đầu vào cho tất cả các loại nhập, chẳng hạn như bàn phím, gamepad và các nút màn hình cảm ứng.
Tạo các hướng dẫn khu vực gần
Bạn phải làm cho gần gũi các mẫu, mô hình hoặc kết cấu gắn liền mà bạn muốn người dùng tương tác với. Để thêm một mẫu gần gũi vào một đối tượng BasePart, Model hoặc Attachment đó là:
Từ menu, hãy inser một ProximityPrompt .
Tùy chỉnh các hộp thoại gần
Bạn có thể tùy chỉnh một thông báo gần bằng cách bạn muốn nó xuất hiện , khi bạn muốn nó trở nên hiển thị , và những gì bạn muốn một người làm để kích hoạt hành động .
Ngoại hình
Các thông báo gần cần phải truyền đạt ba thứ:
- người dùng có thể tương tác với một đối tượng.
- Hành động **** mà nó sẽ kích hoạt khi họ tương tác với gợi ý gần.
- chìa khóa mà một người phải nhấn hoặc giữ.
Bạn có thể xác định những điều này thông qua các thuộc tính sau đây:
ObjectText Tên một đối tượng mà người dùng có thể tương tác với.
ActionText Tên một hành động mà một người sẽ thực hiện.
KeyboardKeyCode The keyboard key a user must press or hold to trigger the hành động.
GamepadKeyCode The gamepad key a user must press or hold to trigger the hành động.
Hiển thị
Bạn có thể kiểm tra khi giao ước gần xuất hiện thông qua đường dẫn MaxActivationDistance , Class.ProximityProm
Khoảng cách hoạt hóa tối đa
Chỉ số MaxActivationDistance cho phép bạn xác định khoảng cách từ xung quanh ProximityPrompt đối tượng mà kích hoạt khả năng hiển thị của yêu cầu gần. Khi một nhân vật của người dùng nhập vào khoảng cách
Yêu cầu dòng nhìn
Thuộc tính RequiresLineOfSight kích hoạt sự hiển thị của yêu cầu gần khi có con đường rõ ràng từ camera đến đối tượng Class.ProximityPrompt. Bởi mặc định, thuộc tính này được đặt trên true.
Độc quyền
Nếu nhân vật của một người ở trong phạm vi của nhiều thông báo gần gũi, mỗi thông báo gần gũi's độ hiển thị phụ thuộc vào thông báo gần gũi nào mà máy ảnh đang chỉ vào, cũng như giá trị Exclusivity của mỗi thông báo gần gũ
Tương Tác
Bạn có thể tùy chỉnh cách mà một người tương tác với một thông báo gần qua các thuộc tính HoldDuration và ClickablePrompt của nó.
Giữ độ lưu trữ
Thuộc tính HoldDuration xác định số giây mà người dùng phải nhấn một nút trước khi hành động gần gũi của gợi ý kích hoạt. Nếu giá trị này có giá trị 0, gợi ý gần gũi sẽ ngay lập tức kích hoạt.
Nhấp chuộtPrompt
Thuộc tính ClickablePrompt xác định nếu một người có thể nhấp vào một thông báo gần để kích chuyển hành động của nó. Khi đặt thành true
Lập trình gần gũi
Bạn có thể kết nối với sự kiện thông báo gần gũi trên đối tượng ProximityPrompt hoặc trên toàn cầu thông qua ProximityPromptService . The ProximityPromptService cho phép bạn quản lý tất cả các hành vi gần gũi gắn li
Sự kiện | Mô tả |
---|---|
PromptTriggered | Kích hoạt khi một người chơi tương tác với một thông báo gần (sau thời gian cho một thông báo với không có zero HoldDuration ). |
PromptTriggerEnded | Kích hoạt khi người chơi dừng tương tác với một thông báo gần. |
PromptButtonHoldBegan | Lửa khi một người bắt đầu tương tác với một thông báo gần với một giá trị HoldDuration không đồng nghĩa. |
PromptButtonHoldEnded | Kích hoạt khi một người chơi ngừng tương tác với một thông báo gần với giá trị HoldDuration nào đó. |
PromptShown | Nghe thấy trong LocalScripts khi một thông báo gần xuất hiện. |
PromptHidden | Nghe những gì bạn nói khi bạn ẩn một hộp thoại. |
Mẫu mã code sau đây bao gồm một khung cơ bản để sử dụng ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Ngược khi nào đòi hỏi được kích hoạt
local function onPromptTriggered(promptObject, player)
end
-- Nhận xét khi dấu hiệu giữ nhấp bắt đầu
local function onPromptHoldBegan(promptObject, player)
end
-- Nhận xét khi hộp thông báo kết thúc
local function onPromptHoldEnded(promptObject, player)
end
-- Kết nối các sự kiện hộp thoại đến các chức năng xử lý
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)