Obiekty Class.ProximityPrompt zachęcają użytkownika do interakcji, aby wywołać działanie, gdy zbliżają się obiekty w doświadczeniu, takie jak drzwi, przełączniki światła i przyciski. Używając tego obiektu, możesz:
- Wskazują, z czym użytkownik może wejść w interakcję w doświadczeniu.
- Pokaż akcję, którą użytkownik może wykonać na obiekcie, a następnie wykonaj akcję poprzez wpis użytkownika, takiego jak naciśnięcie lub przytrzymanie klucza.
- Pokaż poprawny wpis dla wszystkich typów wejść, takich jak klawiatura, gamepad i klucze do ekranu dotykowego.
Tworzenie pism promocyjnych
Musisz zaznaczyć wskaźniki prom示cze konsumentów do części, modelu lub załącznika, z których chcesz, aby użytkownik zainteragował. Aby dodać wskaźnik prom示cze do obiektu BasePart, Model lub Attachment, musisz:
Z menu, wpisz ProximityPrompt .
Dostosowywanie komend bliskości
Możesz dostosować prośbę o bliskość w zależności od tego, jak chcesz, aby wyglądała, gdy chcesz, aby była widoczna, i czego chcesz, aby użytkownik zrobił, aby wywołać akcję.
Wygląd
Sterowanie promptami dotyczy trzech rzeczy:
- obiekt, z którym użytkownik może wejść w interakcję.
- Akcja akcja , która zostaje wykonana, gdy wchodzą w interakcję z prośbą o bliskość.
- Klucz użytkownika , który należy nacisnąć lub przytrzymać.
Możesz określić je poprzez następujące właściwości:
ObjectText Opcjonalna nazwa dla obiektu, z którym użytkownik może wejść w interakcję.
ActionText Opcjonalna nazwa dla akcji, którą użytkownik wykona.
KeyboardKeyCode Klawisz klawiatury, który należy nacisnąć lub przytrzymać, aby wywołać akcji.
GamepadKeyCode Klucz gry użytkownik musi nacisnąć lub przytrzymać, aby uruchomić akcji.
Widoczność
Możesz kontrolować, kiedy prom示jność jest widoczna poprzez jej MaxActivationDistance , RequiresLineOfSight i Exclusivity właściwości.
Maksymalna odległość aktywacji
Właściwość MaxActivationDistance pozwala na zdefiniowanie zasięgu od wokół obiektu ProximityPrompt, który aktywuje widoczność projektu proximity. Po wejściu postaci użytkownika w ten zasięg widoczność projektu proximity staje się widoczna.
Wymaga linii widzenia
Właściwość RequiresLineOfSight aktywuje widoczność wskazówki bliskości, gdy istnieje wyraźny ścieżka z kamery do obiektu Class.ProximityPrompt. Domyślnie właściwość ustawiona na prawdę.
Ekskluzywność
Jeśli postać użytkownika jest w zasięgu wielu wskazań promowanych, widoczność każdej wskazówki promowanej zależy od tego, na którą wskazówkę promowaną aparat apuje, a także od wartości Exclusivity każdej wskazówki promowanej.
Interaktywność
Możesz dostosować, w jaki sposób użytkownik wchodzi w interakcję z wbudowanym wskaźnikiem promieniowania poprzez jego HoldDuration i ClickablePrompt właściwości.
Czas trzymania
Właściwość HoldDuration określa, ile sekund użytkownik musi nacisnąć klawisz, zanim akcja przycisku zbliżenia zostanie uruchomiona. Jeśli właściwość ma wartość 0, akcja przycisku zbliżenia zostanie natychmiastowo uruchomiona.
KliknijPrompt
Właściwość ClickablePrompt określa, czy użytkownik może kliknąć na prom示ć bliskości, aby uruchomić jego akcji. Gdy ustawiony na prawdę, użytkownik może wchodzić w interakcję z prom示ćcym bliskości, klikając bezpoś
Skryptowanie wskazówek dotyczących bliskości
Możesz się połączyć z wydarzeniami przycisku bliskości na obiekcie ProximityPrompt lub globalnie poprzez ProximityPromptService. The ProximityPromptService umożliwia zarządzanie wszystkim zachowaniem przycisku bliskości w jednym miejscu, zapobiegając potrzebie duplikowania kodu w swoim doświadczeniu.
Wydarzenie | Opis |
---|---|
PromptTriggered | Wyst?puje, gdy gracz interaguje z prosz?c? kied? (po okresie czasu dla prosz?ca bez niewielu HoldDuration). |
PromptTriggerEnded | Wyzwala się, gdy gracz przestaje interagować z prośbą o bliskość. |
PromptButtonHoldBegan | Występuje, gdy gracz zaczyna interagować z wbudowanym wskaźnikiem promieniowania bez wartości HoldDuration . |
PromptButtonHoldEnded | Występuje, gdy gracz przestaje interagować z wbudowanym wskazówką dotykową z wartością HoldDuration . |
PromptShown | Pokazuje się LocalScripts, gdy prom示ca bliskość zostanie ujawniona. |
PromptHidden | Wyzwala się w LocalScripts, gdy ukryto wiadomość. |
Poniższy kod przykładowy zawiera podstawowy framework dla użycia ProximityPromptService :
local ProximityPromptService = game:GetService("ProximityPromptService")
-- Wykryj, gdy jest włączone
local function onPromptTriggered(promptObject, player)
end
-- Wykryj, gdy przytrzymaние wiadomości zacznie
local function onPromptHoldBegan(promptObject, player)
end
-- Wykryj, gdy skończy się przytrzymywanie wskazówki
local function onPromptHoldEnded(promptObject, player)
end
-- Połącz wskazówkowe wydarzenia z funkcjami przetwarzania
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)