Peringatan jarak dekat

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

ProximityPrompt objek mendorong interaksi pengguna untuk memicu tindakan saat mereka mendekati objek dalam pengalaman seperti pintu, sakelar lampu, dan tombol.Menggunakan objek ini, Anda dapat:

  • Indikasikan objek apa yang dapat diinteraksi pengguna dalam pengalaman.
  • Tampilkan tindakan yang dapat dilakukan pengguna pada objek, lalu memicu tindakan melalui input pengguna seperti menekan atau menahan unit.
  • Tampilkan input yang benar untuk semua jenis input, seperti keyboard, gamepad, dan tombol layar sentuh.

Buat peringatan jarak dekat

Anda harus memberi peringatan jarak dekat ke bagian, model, atau lampiran yang ingin pengguna interaksi.Untuk menambahkan peringatan jarak ke BasePart , Model , atau Attachment objek:

  1. Di jendela Explorer, gulir di atas BasePart, Model, atau Attachment dan klik tombol ⊕. Menu konteks ditampilkan.

  2. Dari menu, masukkan Prompt Kedekatan .

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

Sesuaikan peringatan jarak dekat

Anda dapat menyesuaikan peringatan jarak dekat berdasarkan bagaimana Anda ingin muncul , ketika Anda ingin menjadikannya terlihat , dan apa yang ingin dilakukan pengguna untuk memicu tindakan .

Penampilan

Prompt kedekatan perlu berkomunikasi tiga hal:

  • Objek yang dapat diinteraksi oleh pengguna yang dapat diinteraksi oleh pengguna.
  • Tindakan ketika mereka berinteraksi dengan prompt kedekatan yang memicu saat mereka berinteraksi dengan prompt kedekatan
  • Kunci yang harus ditekan atau dipegang pengguna .

Anda dapat menentukan ini melalui properti berikut:

  • ObjectText Nama opsional untuk objek yang dapat diinteraksi pengguna.

  • ActionText Nama opsional untuk tindakan yang akan dipicu pengguna.

  • KeyboardKeyCode Kunci keyboard yang harus ditekan atau dipegang pengguna untuk memicu action.

  • GamepadKeyCode Kunci gamepad yang harus ditekan atau dipegang pengguna untuk memicu action.

    Diagram indicating basic elements of a ProximityPrompt

Keterlihatan

Anda dapat mengontrol kapan peringatan proximitas terlihat melalui properti MaxActivationDistance , RequiresLineOfSight , dan Exclusivity .

Jarak Aktivasi Maksimum

Properti MaxActivationDistance memungkinkan Anda untuk mendefinisikan rentang dari sekitar objek ProximityPrompt yang mengaktifkan visibilitas prompt kedekatan.Setelah karakter pengguna memasuki rentang itu, peringatan jarak jadi terlihat.

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

Membutuhkan LineOfSight

Properti RequiresLineOfSight aktifkan visibilitas prompt jarak dekat saat ada jalur yang jelas dari kamera ke objek ProximityPrompt.Secara default, properti ini diatur ke benar.

Khususnya

Jika karakter pengguna berada dalam jangkauan beberapa perintah kedekatan, visibilitas setiap perintah kedekatan tergantung pada perintah kedekatan mana kamera menunjuk, serta nilai properti Exclusivity setiap perintah kedekatan.

ProximityPrompt objects set to exclusivity of OnePerButton
Hanya satu perintah proximitas yang terlihat per kode input.Jika beberapa peringatan proximitas dalam jangkauan menggunakan kode kunci yang berbeda, semuanya terlihat.Namun, jika beberapa peringatan proximitas dalam jangkauan menggunakan kode kunci yang sama, hanya satu peringatan proximitas yang terlihat pada waktu tertentu, tergantung pada arah pandang kamera.

Interaktivitas

Anda dapat menyesuaikan bagaimana pengguna berinteraksi dengan perintah proximitas melalui properti HoldDuration dan ClickablePrompt nya.

Tahan Durasi

Properti HoldDuration menentukan berapa banyak detik pengguna harus menekan tombol sebelum tindakan prompt kedekatan dipicu.Jika properti ini memiliki nilai 0 , tindakan prompt jarak dekat langsung diaktifkan.

Prompt yang Dapat Diklik

Properti ClickablePrompt menypesifikasi apakah pengguna dapat mengklik prompt kedekatan untuk memicu action.Ketika diatur ke benar , pengguna dapat berinteraksi dengan perintah proximitas dengan langsung mengklik perintah proximitas atau dengan menekan unityang ditentukan.Ketika diatur ke palsu , pengguna hanya dapat berinteraksi dengan perintah proximitas dengan menekan tombol unityang ditentukan.

Prompt kedekatan skrip

Anda dapat terhubung ke peristiwa prompt jarak dekat entah pada objek ProximityPrompt itu sendiri atau secara global melalui ProximityPromptService .The ProximityPromptService memungkinkan Anda untuk mengelola semua perilaku prompt dekat dari satu lokasi, mencegah kebutuhan untuk kode duplikat dalam pengalaman Anda.

PeristiwaDeskripsi
PromptTriggeredMelepaskan api saat pemain berinteraksi dengan peringatan jarak (setelah durasi untuk peringatan dengan non-nol HoldDuration ).
PromptTriggerEndedMemicu ketika pemain berhenti berinteraksi dengan perintah proximitas.
PromptButtonHoldBeganMelepaskan api saat pemain mulai berinteraksi dengan perintah proximitas dengan nilai HoldDuration nol bukan.
PromptButtonHoldEndedMelepaskan api saat pemain berhenti berinteraksi dengan perintah proximitas dengan nilai HoldDuration nol.
PromptShownPemicu di LocalScripts ketika perintah proximitas dibuat terlihat.
PromptHiddenPemicu dalam LocalScripts ketika perintah disembunyikan.

Contoh kode berikut termasuk framework dasar untuk menggunakan ProximityPromptService :


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Deteksi ketika prompt diaktifkan
local function onPromptTriggered(promptObject, player)
end
-- Deteksi ketika prompt hold dimulai
local function onPromptHoldBegan(promptObject, player)
end
-- Deteksi ketika akhir tahan diperintahkan
local function onPromptHoldEnded(promptObject, player)
end
-- Hubungkan peristiwa prompt ke fungsi penanganan
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)