ProximityPrompt obiekty zachęcają użytkownika do interakcji, aby uruchomić akcję, gdy zbliżają się do obiektów doświadczenia, takich jak drzwi, przełączniki światła i przyciski.Używając tego obiektu, możesz:
- Wskaż, z jakimi obiektami użytkownik może interakcjonować w doświadczeniu.
- Wyświetl akcję, którą użytkownik może wykonać na obiekcie, a następnie uruchom akcję za pomocą wejścia użytkownika, takiego jak naciśnięcie lub przytrzymanie klucz.
- Wyświetl poprawny input dla wszystkich typów wejść, takich jak klawiatura, gamepad i klawisze dotykowe.
Twórz powiadomienia o zbliżeniu
Musisz przypisać powiadomienia o odległości do części, modelu lub załącznika, z którym chcesz, aby użytkownik wchodził w interakcję.Aby dodać powiadomienie o zbliżeniu do obiektu BasePart, Model lub Attachment:
W oknie Eksploratora przewiń nad BasePart, Model lub Attachment i kliknij przycisk ⊕. Wyświetla się menu kontekstowe.
Z menu wstawь ProximityPrompt .
Dostosuj prośby o zbliżenie
Możesz dostosować powiadomienie o zbliżeniu w oparciu o to, jak chcesz, aby wyglądało, kiedy chcesz, aby było widoczne, i co chcesz, aby użytkownik zrobił, aby uruchomić akcję.
Wygląd
Powiadomienia o zbliżeniu muszą komunikować trzy rzeczy:
- Obiekt z którym użytkownik może interakcjonować , z którym użytkownik może interakcjonować.
- Akcja akcja , która uruchamia się, gdy interakują z poleceniem zbliżenia.
- Klucz który musi nacisnąć lub trzymać użytkownik , który musi nacisnąć lub trzymać użytkownik
Możesz określić je za pomocą następujących właściwości:
ObjectText Opcjonalna nazwa obiektu, z którym użytkownik może interakcjonować.
ActionText Opcjonalna nazwa dla akcji, którą użytkownik uruchomi.
KeyboardKeyCode Klawisz klawiatury, który musi nacisnąć lub przytrzymać użytkownik, aby uruchomić akcji.
GamepadKeyCode Klawisz gamepada, który musi nacisnąć lub przytrzymać użytkownik, aby uruchomić akcji.
Widoczność
Możesz kontrolować, kiedy komunikat o zbliżeniu jest widoczny poprzez jego MaxActivationDistance , RequiresLineOfSight i Exclusivity właściwości.
Maksymalny dystans aktywacji
Właściwość MaxActivationDistance pozwala na określenie zakresu wokół obiektu ProximityPrompt, który aktywuje widoczność powiadomienia o zbliżeniu.Gdy charakter użytkownika wchodzi w zasięg, powiadomienie o zbliżeniu staje się widoczne.

Wymaga linii widzenia
Właściwość aktywuje widoczność monitu o zbliżenie, gdy istnieje wyraźna ścieżka z kamery do obiektu >.Domyślnie właściwość ta jest ustawiona na prawdę.
Ekskluzywność
Jeśli postać użytkownika znajduje się w zasięgu wielu powiadomień o zbliżeniu, widoczność każdego powiadomienia o zbliżeniu zależy od tego, na które powiadomienie o zbliżeniu aparat wskazuje, a także od wartości właściwości każdego powiadomienia o zbliżeniu.

Interaktywność
Możesz dostosować sposób interakcji użytkownika z powiadomieniem o zbliżeniu za pomocą jego właściwości HoldDuration i ClickablePrompt.
Przytrzymaj czas trwania
Właściwość HoldDuration określa, ile sekund użytkownik musi nacisnąć klawisz przed uruchomieniem akcji komunikatu zbliżeniowego.Jeśli ta właściwość ma wartość 0, działanie powiadomienia o zbliżeniu uruchamia się natychmiast.
Klikalny wyskakujący prompt
Właściwość ClickablePrompt określa, czy użytkownik może kliknąć na komunikat o zbliżeniu, aby uruchomić swoją akcji.Gdy ustawiono na prawdę , użytkownik może wchodzić w interakcję z powiadomieniem o zbliżeniu, klikając bezpośrednio powiadomienie o zbliżeniu lub poprzez naciśnięcie określonego klucz.Gdy ustawiono na fałsz , użytkownik może interakować z powiadomieniem o zbliżeniu tylko poprzez naciśnięcie określonego klucz.
Powiadomienia o zbliżeniu skryptów
Możesz połączyć się z wydarzeniami powiadomienia o zbliżeniu na obiekcie ProximityPrompt lub globalnie za pośrednictwem ProximityPromptService .The ProximityPromptService pozwala zarządzać całym zachowaniem powiadomienia o zbliżeniu z jednego miejsca, zapobiegając potrzebie powielania kodu w twoim doświadczeniu.
Wydarzenie | Opis |
---|---|
PromptTriggered | Wystrzeliwuje, gdy gracz interakuje z powiadomieniem o zbliżeniu (po okresie dla powiadomienia z niezerowym HoldDuration ). |
PromptTriggerEnded | Wyzwala się, gdy gracz przestaje interakcjonować z powiadomieniem o zbliżeniu. |
PromptButtonHoldBegan | Wystrzeliwuje, gdy gracz zaczyna interakcję z prośbą o zbliżenie z wartością niezerową HoldDuration . |
PromptButtonHoldEnded | Wystrzeliwuje, gdy gracz przestaje interakcjonować z prośbą o zbliżenie o wartości niezerowej HoldDuration . |
PromptShown | Wykrywacze w LocalScripts gdy powiadomienie o zbliżeniu zostanie widoczne. |
PromptHidden | Wykrywacze w LocalScripts kiedy okno jest ukryte. |
Poniższy przykład kodu zawiera podstawowe ramy dla korzystania z ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Wykryj, kiedy wyskakuje monit,
local function onPromptTriggered(promptObject, player)
end
-- Wykryj, kiedy rozpoczyna się utrzymywanie monitu
local function onPromptHoldBegan(promptObject, player)
end
-- Wykryj, kiedy końce przytrzymywania są aktywne
local function onPromptHoldEnded(promptObject, player)
end
-- Połącz zdarzenia wstępne z funkcjami obsługi
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)