Podpowiedzi bliskości

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

ProximityPrompt obiekty zachęcają do interakcji użytkownika w celu wywołania akcji, gdy zbliżają się do obiektów w doświadczeniu, takich jak drzwi, przełączniki światła i przyciski. Korzystając z tego obiektu, możesz:

  • Wskazać, z jakimi obiektami użytkownik może interagować w doświadczeniu.
  • Wyświetlić akcję, którą użytkownik może podjąć na obiekcie, a następnie wywołać tę akcję za pomocą wejścia użytkownika, takiego jak naciśnięcie lub przytrzymanie klawisza.
  • Wyświetlić poprawne wejście dla wszystkich typów wejść, takich jak klawiatura, kontroler gier i przyciski na ekranie dotykowym.

Tworzenie podpowiedzi bliskości

Musisz przypisać podpowiedzi bliskości do części, modelu lub mocowania, z którym chcesz, aby użytkownik interagował. Aby dodać podpowiedź bliskości do obiektu BasePart, Model lub Attachment:

  1. W oknie Explorer, najedź na BasePart, Model lub Attachment i kliknij przycisk ⊕ . Wyświetli się menu kontekstowe.

  2. Z menu wstaw ProximityPrompt.

    Hierarchia eksploratora pokazująca ProximityPrompt przypisane do mocowania

Dostosowywanie podpowiedzi bliskości

Możesz dostosować podpowiedź bliskości w oparciu o to, jak chcesz, aby wyglądała, kiedy chcesz, aby była widoczna i co chcesz, aby użytkownik zrobił, aby wywołać akcję.

Wygląd

Podpowiedzi bliskości muszą przekazywać trzy rzeczy:

  • obiekt, z którym użytkownik może interagować.
  • akcję, która wywołuje, gdy interagują z podpowiedzią bliskości.
  • klawisz, który użytkownik musi nacisnąć lub przytrzymać.

Możesz określić te elementy za pomocą następujących właściwości:

  • ObjectText Opcjonalna nazwa obiektu, z którym użytkownik może interagować.

  • ActionText Opcjonalna nazwa akcji, którą użytkownik wywoła.

  • KeyboardKeyCode Klawisz na klawiaturze, który użytkownik musi nacisnąć lub przytrzymać, aby wywołać akcję.

  • GamepadKeyCode Klawisz na kontrolerze gier, który użytkownik musi nacisnąć lub przytrzymać, aby wywołać akcję.

    Diagram wskazujący podstawowe elementy ProximityPrompt

Widoczność

Możesz kontrolować, kiedy podpowiedź bliskości jest widoczna, za pomocą właściwości MaxActivationDistance, RequiresLineOfSight, oraz Exclusivity.

MaxActivationDistance

Właściwość MaxActivationDistance pozwala zdefiniować zasięg wokół obiektu ProximityPrompt, który aktywuje widoczność podpowiedzi bliskości. Gdy postać użytkownika wejdzie w ten zasięg, podpowiedź bliskości staje się widoczna.

Diagram wskazujący, jak odległość postaci od obiektu ProximityPrompt wpływa na to, czy podpowiedź pojawia się na ekranie

RequiresLineOfSight

Właściwość RequiresLineOfSight aktywuje widoczność podpowiedzi bliskości, gdy istnieje wyraźna ścieżka od kamery do obiektu ProximityPrompt. Domyślnie ta właściwość jest ustawiona na prawda.

Exclusivity

Jeśli postać użytkownika znajduje się w zasięgu wielu podpowiedzi bliskości, widoczność każdej z nich zależy od tego, na którą podpowiedź bliskości kamera jest skierowana, a także od wartości właściwości Exclusivity każdej podpowiedzi bliskości.

Obiekty ProximityPrompt ustawione na ekskluzywność OnePerButton
Widoczna jest tylko jedna podpowiedź bliskości na maksymalnie jeden kod wejściowy. Jeśli wiele podpowiedzi bliskości w zasięgu używa różnych kodów wejściowych, wszystkie są widoczne. Jednak jeśli wiele podpowiedzi bliskości w zasięgu używa tego samego kodu wejściowego, widoczna jest tylko jedna podpowiedź bliskości w dowolnym momencie, w zależności od kierunku widoku kamery.

Interaktywność

Możesz dostosować sposób interakcji użytkownika z podpowiedzią bliskości za pomocą właściwości HoldDuration oraz ClickablePrompt.

HoldDuration

Właściwość HoldDuration określa, ile sekund użytkownik musi nacisnąć klawisz zanim wywoła się akcja podpowiedzi bliskości. Jeśli ta właściwość ma wartość 0, akcja podpowiedzi bliskości wywołuje się natychmiast.

ClickablePrompt

Właściwość ClickablePrompt określa, czy użytkownik może kliknąć na podpowiedź bliskości, aby wywołać jej akcję. Gdy jest ustawiona na prawda, użytkownik może interagować z podpowiedzią bliskości przez bezpośrednie kliknięcie podpowiedzi bliskości lub przez naciśnięcie określonego klawisza. Gdy jest ustawiona na fałsz, użytkownik może interagować z podpowiedzią bliskości tylko poprzez naciśnięcie określonego klawisza.

Skryptowanie podpowiedzi bliskości

Możesz podłączyć się do zdarzeń podpowiedzi bliskości zarówno na obiekcie ProximityPrompt, jak i globalnie przez ProximityPromptService. ProximityPromptService pozwala zarządzać wszystkimi zachowaniami podpowiedzi bliskości z jednego miejsca, eliminując potrzebę duplikowania kodu w doświadczeniu.

WydarzenieOpis
PromptTriggeredAktywuje się, gdy gracz interaguje z podpowiedzią bliskości (po czasie dla podpowiedzi z niezerową wartością HoldDuration).
PromptTriggerEndedAktywuje się, gdy gracz przestaje interagować z podpowiedzią bliskości.
PromptButtonHoldBeganAktywuje się, gdy gracz rozpoczyna interakcję z podpowiedzią bliskości z niezerową wartością HoldDuration.
PromptButtonHoldEndedAktywuje się, gdy gracz przestaje interagować z podpowiedzią bliskości z niezerową wartością HoldDuration.
PromptShownAktywuje się w LocalScripts, gdy podpowiedź bliskości staje się widoczna.
PromptHiddenAktywuje się w LocalScripts, gdy podpowiedź jest ukryta.

Poniższy przykład kodu zawiera podstawowy szkielet używania ProximityPromptService:


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Wykrywanie, gdy podpowiedź jest wywoływana
local function onPromptTriggered(promptObject, player)
end
-- Wykrywanie, gdy przytrzymanie podpowiedzi się rozpoczyna
local function onPromptHoldBegan(promptObject, player)
end
-- Wykrywanie, gdy przytrzymanie podpowiedzi się kończy
local function onPromptHoldEnded(promptObject, player)
end
-- Połączenie zdarzeń podpowiedzi z funkcjami obsługi
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.