Mendekati Prompt

*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 menyebabkan tindakan saat mereka mendekati objek-objek dalam pengalaman seperti pintu, lampu, dan tombol. Menggunakan objek ini, Anda dapat:

  • Tunjukkan objek apa yang dapat diinteraksi pengguna dalam pengalaman.
  • Tampilkan tindakan yang dapat dilakukan pengguna pada objek, lalu mengaktifkan tindakan melalui masukan pengguna seperti menekan atau menahan unit.
  • Tampilkan masukan yang benar untuk semua jenis masukan, seperti keyboard, gamepad, dan tombol touch.

Membuat Prompt Kedekatan

Anda harus menyertakan persyaratan kedekatan ke bagian, model, atau lampiran yang ingin Anda gunakan pengguna untuk berinteraksi dengan. Untuk menambahkan persyaratan kedekatan ke objek BasePart, Model, atau Attachment :

  1. Di jendela Explorer, geser atas BasePart, Model, atau 1> Class.Attachment1> dan klik tombol ⊕. Menu konteks dibuat.

  2. Dari menu, sisipkan ProximityPrompt .

    Explorer hierarchy showing a ProximityPrompt parented to an Attachment

Mengubah Prompt Kedekatan

Anda dapat menyesuaikan prompt lokasi berdasarkan cara Anda ingin agar tampil, ketika Anda ingin agar itu terlihat, dan apa yang ingin Anda lakukan pada 触发动作.

Tampilan

Proximity prompt harus berkomunikasi tiga hal:

  • objek yang dapat diinteraksi pengguna.
  • Tindakan yang terjadi ketika mereka berinteraksi dengan prompt proximity.
  • Kunci yang harus ditekan atau dipegang pengguna.

Anda dapat meng指定 ini melalui property berikut:

  • ObjectText Nama objek yangopsional untuk objek yang dapat diinteraksi pengguna.

  • ActionText Nama opsi untuk tindakan yang akan diaktifkan pengguna.

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

  • GamepadKeyCode Kode konsol game yang harus ditekan atau dipegang pengguna untuk memicu action.

    Diagram indicating basic elements of a ProximityPrompt

Keselamatan

Anda dapat mengontrol ketika prompt kedekatan muncul melalui MaxActivationDistance , RequiresLineOfSight , dan Exclusivity属性.

Jarak Aktivasi Maks

Properti MaxActivationDistance ini mengizinkan Anda untuk mendefinisikan jangkauan dari sekitar objek ProximityPrompt yang mengaktifkan visibilitas prompt kedekatan. Setelah karakter pengguna memasuki jangkauan itu, prompt kedekatan menjadi terlihat.

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

MemerlukanLineOfSight

Propiedad RequiresLineOfSight menetapkan visibilitas prompt kedekatan saat ada jalan yang jelas dari kamera ke objek Class.ProximityPrompt . Secara default, propiedad ini di set ke true.

Eksklusivitas

Jika karakter pengguna berada dalam rentang beberapa prompt kedekatan, kesadaran setiap prompt kedekatan didasarkan pada prom示 yang dekat mana kamera menunjuk, serta nilai Exclusivity setiap prompt kedekatan.

ProximityPrompt objects set to exclusivity of OnePerButton
Hanya satu prompt kedekatan yang terlihat per kode masukan. Jika lebih dari satu prom示t kedekatan dalam jangkauan menggunakan kode kunci yang berbeda, mereka semua terlihat. Namun, jika lebih dari satu prom示t kedekatan dalam jangkauan menggunakan kode kunci yang sama, hanya satu prom示t kedekatan yang terlihat pada saat apa pun, tergantung pada arah pandang kamera.

Interaktivitas

Anda dapat menyesuaikan cara seorang pengguna berinteraksi dengan prompt lokasi melalui HoldDuration dan ClickablePrompt property.

Jadwal

Properti HoldDuration menentukan berapa banyak detik yang harus ditekan pengguna sebelum tindakan tombol kedekatan mengaktifkan. Jika propperti ini memiliki nilai 0, tombol kedekatan segera diaktifkan.

Klik Mengingat

Properti ClickablePrompt meng指定 jika seorang pengguna dapat mengklik pengingatirahat ketika mengklik pengingatirahat ketika mengklik pengingatirahat ketika mengklik pengingatirahat ketika mengklik pengingatirah

Mengaktifkan Prompt Kedekatan Skrip

Anda dapat terhubung ke acara pengingat kedekatan apakah di objek ProximityPrompt sendiri atau secara global melalui ProximityPromptService . The ProximityPromptService memungkinkan Anda untuk mengelola semua perilaku pengingat kedekatan dari satu lokasi, menghindari perlu kode duplikasi dalam pengalaman Anda.

AcaraDeskripsi
PromptTriggeredDibakar saat seorang pemain berinteraksi dengan prompt kedekatan (setelah durasi untuk prompt dengan non-零 HoldDuration).
PromptTriggerEndedMemicu ketika pemain berhenti berinteraksi dengan prompt lokasi.
PromptButtonHoldBeganMengaktifkan ketika seorang pemain mulai berinteraksi dengan prompt lokasi dengan nilai HoldDuration yang tidak nol.
PromptButtonHoldEndedMengaktifkan ketika seorang pemain berhenti berinteraksi dengan prompt lokasi dengan nilai HoldDuration yang tidak nol.
PromptShownMemicu dalam LocalScripts ketika prompt kedekatan dibuat terlihat.
PromptHiddenMemicu dalam LocalScripts ketika prompt tersembunyi.

Berikut adalah contoh kode dasar untuk menggunakan ProximityPromptService :


local ProximityPromptService = game:GetService("ProximityPromptService")
-- Deteksi saat prompt diaktifkan
local function onPromptTriggered(promptObject, player)
end
-- Deteksi saat prompt hold dimulai
local function onPromptHoldBegan(promptObject, player)
end
-- Deteksi saat prompt hold berakhir
local function onPromptHoldEnded(promptObject, player)
end
-- Koneksi acara prompt ke fungsi penanganan
ProximityPromptService.PromptTriggered:Connect(onPromptTriggered)
ProximityPromptService.PromptButtonHoldBegan:Connect(onPromptHoldBegan)
ProximityPromptService.PromptButtonHoldEnded:Connect(onPromptHoldEnded)