Biasanya, fungsi hanya dapat menggunakan informasi yang telah mereka kode dalam diri mereka sendiri. Terkadang, however, Anda mungkin tidak tahu sebelumnya apa informasi itu akan menjadi, atau Anda ingin dapat menggunakan fungsi yang sama dengan beberapa bagian informasi serupa. Misalnya, jika Anda ingin menggunakan fungsi untuk menampilkan nama or Parameter adalah penyimpan sementara untuk informasi yang ingin Anda berikan kepada fungsi pada waktu yang berbeda. Mereka seperti jendela yang memungkinkan Anda untuk memberikan pass informasi ke fungsi.
Gunakan Variabel dan Acara untuk Mengatur Perangkap
Skrip ini akan membuat bagian perangkap yang menghancurkan apa pun yang menyentuh bagian, termasuk bagian lain. Anda harus menggunakan parameter untuk menetapkannya. Waspadalah agar menyetel perangkap bahwa itu tidak jatuh dan menghancurkan hal-hal secara tidak sengaja.
Buat Bagian Baru
Sebuah bagian perlu diatur yang akan menghancurkan apa pun yang menyentuhnya.
- Buat bagian baru yang tidak menyentuh apa pun. Jika itu menyentuh sesuatu, itu mungkin akan terlalu cepat.
- Di Explorer, ganti nama bagian: TrapPart.
- Ikatkan bagian.
Konfigurasi Skrip
Gunakan apa yang Anda tahu tentang variabel dan hierarki pengalaman untuk mengacu pada bagian perangkap.
Tambahkan naskah baru ke bagian perangkap. Ganti naskah TrapScript .
Hapus Hello World dan tambahkan komentar deskriptif.
Di bawah komentar, buat variabel baru yang menemukan orang tua script.
-- Hancurkan apa pun yang menyentuh orang tualocal trap = script.Parent
Buat Fungsi dengan Parameter
Perangkap akan menggunakan fungsi untuk menghancurkan apa pun yang menyentuh bagian. Untuk bekerja, fungsi perlu tahu apa yang menyentuh bagian. Dan itu berarti menggunakan parameter. Para parameter ditulis di dalam () yang datang setelah nama fungsi. Mereka terlihat seperti ini:
local function functionName(parameterName)
end
Informasi yang sebenarnya yang dilewati oleh parameter disebut sebuah argumen . Anda akan menciptakan fungsi baru bernama onTouch() dengan parameter bernama objectTouched yang akan melacak apa pun yang menyentuh perangkap dan kemudian menghancurkan bagian yang disentuh.
Buat fungsi lokal. Ini bisa bernama apa pun, tetapi pelajaran ini akan menggunakan onTouch
local trap = script.Parentlocal function onTouch()endDi dalam (), ketik nama untuk parameter. Pelajaran ini akan menggunakan objectTouched.
local trap = script.Parentlocal function onTouch(objectTouched)endAntara local function onTouch() dan end, buat pernyataan cetak. Anda akan menggunakan ini untuk memeriksa apakah sesuatu menyentuh bagian di bagian berikutnya.
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end
Gunakan Acara untuk Memanggil Fungsi
Kami ingin fungsi untuk berjalan setiap kali sesuatu menyentuh bagian. Untuk membuat itu terjadi, hubungkan fungsi ke acara Touched. Acara adalah hal-hal yang terjadi dalam pengalaman. Seperti pemain menyentuh bagian atau kehilangan kesehatan. Saat fungsi terhubung ke acara, fungsi akan berjalan setiap kali acara terjadi.
Acara Touched menyetel ulang setiap kali salah satu bagian menyentuh bagian lain dan dapat digunakan untuk mengatur tombol, perangkap, dan objek lain yang pemain interaksi.
Di bawah fungsi's end, ketik trap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end-- Hubungkan fungsi ke acara Touchedtrap.Touched:Connect(onTouch)Klik Test dan kemudian sentuh bagian. Periksa pernyataan cetak ulang tes Anda: Something touched the trap . Jika Anda tidak dapat melihat string di Jendela Keluar, periksa mengikuti:
- Pastikan string "Sesuatu menyentuh bagian!" berada di antara fungsi lokal pada saat penggunaan pada saat akhiri.
- Periksa apakah Touched dicapitalisasi.
Sekarang fungsi benar diatur, gunakan untuk menghancurkan apa pun yang menyentuh bagian. Dalam fungsi, setelah string, tulis objectTouched:Destroy() Kode yang diselesaikan harus:
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")-- Hancurkan objek yang menyentuhobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)Tes lagi dan lihat apa yang terjadi ketika bagian itu disentuh. Avatar Anda harus berakhir menghilang kaki atau lengan. Jika bagian itu menyentuh kepala atau leher avatar, itu bahkan mungkin hilang sepenuhnya.
Sintesis
Parameter digunakan untuk menyampaikan informasi yang biasanya tidak berada dalam rentang (di mana fungsi tidak dapat melihatnya), ke dalam fungsi. Sementara itu, acara adalah sinyal khusus yang terjadi di dalam pengalaman ketika sesuatu yang penting terjadi. Berbagai objek memiliki acara yang berbeda. Fungsi d