Yêu cầu khoảng cách

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

ProximityPrompt objects khuyến khích 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 vật thể trong trải nghiệm như cửa, công tắc đèn và nút bấm. Sử dụng đối tượng này, bạn có thể:

  • Chỉ định những vật thể nào 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 vật thể, sau đó kích hoạt hành động thông qua đầu vào từ người dùng như nhấn hoặc giữ phím.
  • Hiển thị đầu vào đúng cho tất cả các loại đầu vào, chẳng hạn như bàn phím, tay cầm chơi game và phím màn hình cảm ứng.

Tạo yêu cầu khoảng cách

Bạn phải gán yêu cầu khoảng cách cho phần, mô hình hoặc đính kèm mà bạn muốn người dùng tương tác. Để thêm yêu cầu khoảng cách vào BasePart, Model, hoặc Attachment object:

  1. Trong cửa sổ Explorer, di chuột qua BasePart, Model, hoặc Attachment và nhấp vào nút ⊕. Một menu ngữ cảnh sẽ hiển thị.

  2. Trong menu, chèn một ProximityPrompt.

    Cấu trúc Explorer hiển thị ProximityPrompt được gán cho một Attachment

Tùy chỉnh yêu cầu khoảng cách

Bạn có thể tùy chỉnh yêu cầu khoảng cách dựa trên cách bạn muốn nó xuất hiện, khi nào bạn muốn nó hiện, và những gì bạn muốn người dùng làm để kích hoạt hành động.

Xuất hiện

Yêu cầu khoảng cách cần giao tiếp ba điều:

  • vật thể mà người dùng có thể tương tác.
  • hành động mà kích hoạt khi họ tương tác với yêu cầu khoảng cách.
  • phím mà người dùng phải nhấn hoặc giữ.

Bạn có thể chỉ định những điều này thông qua các thuộc tính sau:

  • ObjectText Tên tùy chọn cho vật thể mà người dùng có thể tương tác.

  • ActionText Tên tùy chọn cho hành động mà người dùng sẽ kích hoạt.

  • KeyboardKeyCode Phím bàn phím mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.

  • GamepadKeyCode Phím tay cầm mà người dùng phải nhấn hoặc giữ để kích hoạt hành động.

    Sơ đồ chỉ ra các yếu tố cơ bản của một ProximityPrompt

Tính khả thi

Bạn có thể kiểm soát khi nào yêu cầu khoảng cách hiển thị thông qua các thuộc tính MaxActivationDistance, RequiresLineOfSight, và Exclusivity.

MaxActivationDistance

Thuộc tính MaxActivationDistance cho phép bạn định nghĩa khoảng cách từ xung quanh đối tượng ProximityPrompt mà kích hoạt tính khả thi của yêu cầu khoảng cách. Một khi nhân vật của người dùng vào trong khoảng cách đó, yêu cầu khoảng cách sẽ trở nên hiển thị.

Sơ đồ chỉ ra cách khoảng cách của một nhân vật từ đối tượng ProximityPrompt ảnh hưởng đến việc yêu cầu có xuất hiện trên màn hình hay không

RequiresLineOfSight

Thuộc tính RequiresLineOfSight kích hoạt tính khả thi của yêu cầu khoảng cách khi có một con đường rõ ràng từ máy ảnh đến đối tượng ProximityPrompt. Theo mặc định, thuộc tính này được đặt thành true.

Exclusivity

Nếu nhân vật của người dùng nằm trong khoảng cách của nhiều yêu cầu khoảng cách, sự hiển thị của mỗi yêu cầu khoảng cách phụ thuộc vào yêu cầu nào mà máy ảnh đang hướng đến, cũng như giá trị thuộc tính Exclusivity của từng yêu cầu khoảng cách.

Các đối tượng ProximityPrompt được đặt ở chế độ độc quyền OnePerButton
Chỉ một yêu cầu khoảng cách hiển thị cho mỗi mã phím đầu vào. Nếu có nhiều yêu cầu khoảng cách trong phạm vi nhưng sử dụng các mã phím khác nhau, tất cả đều hiển thị. Tuy nhiên, nếu có nhiều yêu cầu khoảng cách trong phạm vi và sử dụng cùng một mã phím, chỉ một yêu cầu khoảng cách sẽ hiển thị tại một thời điểm, tùy thuộc vào hướng nhìn của máy ảnh.

Tính tương tác

Bạn có thể tùy chỉnh cách người dùng tương tác với yêu cầu khoảng cách qua các thuộc tính HoldDurationClickablePrompt.

HoldDuration

Thuộc tính HoldDuration xác định số giây mà người dùng phải nhấn một phím trước khi hành động của yêu cầu khoảng cách được kích hoạt. Nếu thuộc tính này có giá trị là 0, hành động của yêu cầu khoảng cách sẽ được kích hoạt ngay lập tức.

ClickablePrompt

Thuộc tính ClickablePrompt chỉ định xem người dùng có thể nhấp vào yêu cầu khoảng cách để kích hoạt hành động của nó hay không. Khi được đặt thành true, người dùng có thể tương tác với yêu cầu khoảng cách bằng cách nhấp trực tiếp vào yêu cầu khoảng cách hoặc bằng cách nhấn phím đã chỉ định. Khi được đặt thành false, người dùng chỉ có thể tương tác với yêu cầu khoảng cách bằng cách nhấn phím đã chỉ định.

Kịch bản yêu cầu khoảng cách

Bạn có thể kết nối với các sự kiện yêu cầu khoảng cách either trên chính đối tượng ProximityPrompt hoặc toàn cục thông qua ProximityPromptService. ProximityPromptService cho phép bạn quản lý tất cả hành vi yêu cầu khoảng cách từ một vị trí, ngăn ngừa bất kỳ nhu cầu nào cho mã lặp lại trong trải nghiệm của bạn.

Sự kiệnMô tả
PromptTriggeredKích hoạt khi một người chơi tương tác với yêu cầu khoảng cách (sau khoảng thời gian cho một yêu cầu có HoldDuration không bằng 0).
PromptTriggerEndedKích hoạt khi người chơi ngừng tương tác với yêu cầu khoảng cách.
PromptButtonHoldBeganKích hoạt khi một người chơi bắt đầu tương tác với một yêu cầu khoảng cách có giá trị HoldDuration không bằng 0.
PromptButtonHoldEndedKích hoạt khi một người chơi ngừng tương tác với một yêu cầu khoảng cách có giá trị HoldDuration không bằng 0.
PromptShownKích hoạt trong LocalScripts khi một yêu cầu khoảng cách được làm cho hiển thị.
PromptHiddenKích hoạt trong LocalScripts khi một yêu cầu được ẩn.

Mẫu mã sau đây bao gồm một khung cơ bản để sử dụng ProximityPromptService:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Phát hiện khi yêu cầu được kích hoạt
local function onPromptTriggered(promptObject, player)
end
-- Phát hiện khi bắt đầu giữ yêu cầu
local function onPromptHoldBegan(promptObject, player)
end
-- Phát hiện khi kết thúc giữ yêu cầu
local function onPromptHoldEnded(promptObject, player)
end
-- Kết nối các sự kiện yêu cầu với các hàm xử lý
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.