Podpowiedzi z bliskiego zasięgu

*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, aby wywołać akcję, gdy zbliżają się do obiektów w grze, takich jak drzwi, włączniki światła i przyciski. Używając tego obiektu, możesz:

  • Wskazać, które obiekty użytkownik może interaktywować w grze.
  • Wyświetlić akcję, którą użytkownik może wykonać 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 klawisze ekranu dotykowego.

Tworzenie podpowiedzi z bliskiego zasięgu

Musisz przypisać podpowiedzi z bliskiego zasięgu do części, modelu lub załącznika, z którym chcesz, aby użytkownik wchodził w interakcję. Aby dodać podpowiedź z bliskiego zasięgu do obiektu BasePart, Model lub Attachment:

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

  2. Z menu wstaw ProximityPrompt.

    Hierarchia eksploratora pokazująca ProximityPrompt przypisany do załącznika

Dostosowywanie podpowiedzi z bliskiego zasięgu

Możesz dostosować podpowiedź z bliskiego zasięgu w zależności od tego, 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 z bliskiego zasięgu muszą komunikować trzy rzeczy:

  • obiekt, z którym użytkownik może wchodzić w interakcję.
  • akcję, która jest wywoływana, gdy wchodzą w interakcję z podpowiedzią z bliskiego zasięgu.
  • klawisz, który użytkownik musi nacisnąć lub przytrzymać.

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

  • ObjectText Opcjonalna nazwa obiektu, z którym użytkownik może wchodzić w interakcję.

  • 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, który użytkownik musi nacisnąć lub przytrzymać, aby wywołać akcję.

    Diagram wskazujący podstawowe elementy ProximityPrompt

Widoczność

Możesz kontrolować, kiedy podpowiedź z bliskiego zasięgu jest widoczna, za pomocą właściwości MaxActivationDistance, RequiresLineOfSight i Exclusivity.

MaxActivationDistance

Właściwość MaxActivationDistance pozwala zdefiniować zasięg wokół obiektu ProximityPrompt, który aktywuje widoczność podpowiedzi z bliskiego zasięgu. Gdy postać użytkownika wejdzie w ten zasięg, podpowiedź z bliskiego zasięgu 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 z bliskiego zasięgu, gdy istnieje wyraźna ścieżka od kamery do obiektu ProximityPrompt. Domyślnie ta właściwość jest ustawiona na true.

Exclusivity

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

Obiekty ProximityPrompt ustawione na ekskluzywność OnePerButton
Tylko jedna podpowiedź z bliskiego zasięgu jest widoczna na klawisz wejściowy. Jeśli wiele podpowiedzi z bliskiego zasięgu w zasięgu używa różnych kodów klawiszy, wszystkie są widoczne. Jednak jeśli wiele podpowiedzi z bliskiego zasięgu w zasięgu używa tego samego kodu klawisza, tylko jedna podpowiedź z bliskiego zasięgu jest widoczna w danym momencie, w zależności od kierunku widzenia kamery.

Interaktywność

Możesz dostosować sposób, w jaki użytkownik wchodzi w interakcję z podpowiedzią z bliskiego zasięgu za pomocą właściwości HoldDuration i ClickablePrompt.

HoldDuration

Właściwość HoldDuration określa, ile sekund użytkownik musi nacisnąć klawisz, zanim akcja podpowiedzi z bliskiego zasięgu zostanie wywołana. Jeśli ta właściwość ma wartość 0, akcja podpowiedzi z bliskiego zasięgu jest wywoływana natychmiast.

ClickablePrompt

Właściwość ClickablePrompt określa, czy użytkownik może kliknąć podpowiedź z bliskiego zasięgu, aby wywołać jej akcję. Gdy jest ustawiona na true, użytkownik może wchodzić w interakcję z podpowiedzią z bliskiego zasięgu, klikając bezpośrednio podpowiedź z bliskiego zasięgu lub naciskając określony klawisz. Gdy jest ustawiona na false, użytkownik może wchodzić w interakcję z podpowiedzią z bliskiego zasięgu tylko poprzez naciśnięcie określonego klawisza.

Skryptowanie podpowiedzi z bliskiego zasięgu

Możesz połączyć się z wydarzeniami podpowiedzi z bliskiego zasięgu zarówno na obiekcie ProximityPrompt, jak i globalnie przez ProximityPromptService. ProximityPromptService pozwala zarządzać wszystkimi zachowaniami podpowiedzi z bliskiego zasięgu z jednego miejsca, zapobiegając potrzebie duplikowania kodu w twojej grze.

WydarzenieOpis
PromptTriggeredWywoływane, gdy gracz wchodzi w interakcję z podpowiedzią z bliskiego zasięgu (po czasie dla podpowiedzi z niezerową wartością HoldDuration).
PromptTriggerEndedWywoływane, gdy gracz przestaje wchodzić w interakcję z podpowiedzią z bliskiego zasięgu.
PromptButtonHoldBeganWywoływane, gdy gracz zaczyna wchodzić w interakcję z podpowiedzią z bliskiego zasięgu z niezerową wartością HoldDuration.
PromptButtonHoldEndedWywoływane, gdy gracz przestaje wchodzić w interakcję z podpowiedzią z bliskiego zasięgu z niezerową wartością HoldDuration.
PromptShownWywoływane w LocalScripts, gdy podpowiedź z bliskiego zasięgu staje się widoczna.
PromptHiddenWywoływane w LocalScripts, gdy podpowiedź jest ukryta.

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

local ProximityPromptService = game:GetService("ProximityPromptService")
-- Wykryj, kiedy podpowiedź jest wywoływana
local function onPromptTriggered(promptObject, player)
end
-- Wykryj, kiedy zaczyna się przytrzymywanie podpowiedzi
local function onPromptHoldBegan(promptObject, player)
end
-- Wykryj, kiedy kończy się przytrzymywanie podpowiedzi
local function onPromptHoldEnded(promptObject, player)
end
-- Połącz wydarzenia 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.