Wskazówki dotyczące 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.

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:

  1. W oknie Explorer, BasePart, Model lub 2> Class.Attachment2> i kliknij przycisk ⊕ . Wyświetlony zostanie menu kontekstowe.

  2. Z menu, wpisz ProximityPrompt .

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

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.

    Diagram indicating basic elements of a ProximityPrompt

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.

Diagram indicating how a character's distance from a ProximityPrompt object affects whether the prompt appears on screen

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.

ProximityPrompt objects set to exclusivity of OnePerButton

Tylko jeden wynik zbliżenia jest widoczny na każdym kluczowym kodzie wejścia. Jeśli wiele wbudowanych w zasięgu promocji wyników używa różnych kluczowych kodów, wszystkie są widoczne. Jeśli wiele wbudowanych w zasięgu promocji wyników używa tego samego kluczowego kodu, tylko jeden wynik zbliżenia jest widoczny w każdym momencie, w zależności od kierunku widzenia kamery

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.

WydarzenieOpis
PromptTriggeredWyst?puje, gdy gracz interaguje z prosz?c? kied? (po okresie czasu dla prosz?ca bez niewielu HoldDuration).
PromptTriggerEndedWyzwala się, gdy gracz przestaje interagować z prośbą o bliskość.
PromptButtonHoldBeganWystępuje, gdy gracz zaczyna interagować z wbudowanym wskaźnikiem promieniowania bez wartości HoldDuration .
PromptButtonHoldEndedWystępuje, gdy gracz przestaje interagować z wbudowanym wskazówką dotykową z wartością HoldDuration .
PromptShownPokazuje się LocalScripts, gdy prom示ca bliskość zostanie ujawniona.
PromptHiddenWyzwala 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)