Menggunakan Parameter dan Acara

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

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.

  1. Buat bagian baru yang tidak menyentuh apa pun. Jika itu menyentuh sesuatu, itu mungkin akan terlalu cepat.
  2. Di Explorer, ganti nama bagian: TrapPart.
  3. Ikatkan bagian.

Konfigurasi Skrip

Gunakan apa yang Anda tahu tentang variabel dan hierarki pengalaman untuk mengacu pada bagian perangkap.

  1. Tambahkan naskah baru ke bagian perangkap. Ganti naskah TrapScript .

  2. Hapus Hello World dan tambahkan komentar deskriptif.

  3. Di bawah komentar, buat variabel baru yang menemukan orang tua script.


    -- Hancurkan apa pun yang menyentuh orang tua
    local 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.

  1. Buat fungsi lokal. Ini bisa bernama apa pun, tetapi pelajaran ini akan menggunakan onTouch


    local trap = script.Parent
    local function onTouch()
    end
  2. Di dalam (), ketik nama untuk parameter. Pelajaran ini akan menggunakan objectTouched.


    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. Antara local function onTouch() dan end, buat pernyataan cetak. Anda akan menggunakan ini untuk memeriksa apakah sesuatu menyentuh bagian di bagian berikutnya.


    local trap = script.Parent
    local 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.

  1. Di bawah fungsi's end, ketik trap.Touched:Connect(onTouch)


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end
    -- Hubungkan fungsi ke acara Touched
    trap.Touched:Connect(onTouch)
  2. 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.
  3. 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.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    -- Hancurkan objek yang menyentuh
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. 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