Untuk berlatih untuk loop, Anda akan menciptakan lampu yang secara bertahap menyala lebih terang dan kemudian memudar saat waktu berjalan. Skrip ini kemudian dapat diterapkan ke lampu lain dalam proyek, baik itu lampu jalanan atau kristal bersinar.
Mengatur Part dan Skrip
Lampu akan menjadi bagian dengan lampu dan naskah yang terpasang.
Untuk membuat lebih mudah melihat cahaya, ubah dunia permainan menjadi malam hari . Di Explorer > Lighting > ubah ClockTime menjadi 0.
Buat bagian baru atau model bernama Lamp.
Pilih Lamp, dan tambahkan cahaya , seperti PointLight atau SpotLight. Anda akan bekerja dengan proporsi kecerahan cahaya untuk menciptakan lampu bercahaya.
Dalam Lamp, tambahkan skrip baru bernama GlowScript. Di dalam skrip itu, buat variabel untuk menyimpan bagian lampu dan lampu.
local lightPart = script.Parentlocal light = lightPart.SpotLightSelanjutnya, buat variabel untuk menahan seberapa terang kelas lampu akan berubah setiap kali loop berjalan. Kemudian, tambahkan variabel lain untuk berapa banyak detik loop akan menunggu sebelum berjalan lagi.
-- Berapa terangnya cahaya setiap kalilocal brightnessChange = 1-- Berapa kali dalam detik cahaya akan berubah cerahlocal timeChange = 1
Membuat Lampu Bersinar
Lampu akan menggunakan dua untuk loop , satu yang menghitung hingga membuat lampu lebih terang, dan satu yang menghitung turun untuk menyurutkannya. Setiap untuk loop akan memiliki variabel kontrol bernama currentBrightness. Dengan cara itu, ketika variabel kontrol lampu naik dan turun, maka akan terang lampu.
Lingkaran Pertama (Peningkatan Cahaya)
Ingat, for loop dimulai dengan kata kunci for diikuti oleh variabel kontrol. Skrip ini akan menetapkan nilai kecerahan cahaya ke nilai dalam variabel kontrol.
Kode untuk loop menggunakan nilai berikut. Ingatlah untuk memisahkan variabel kontrol dan nilai akhir dengan koma.
- Variabel Kontrol : currentBrightness
- Nilai mulai : 0
- Nilai akhir : 5
- Nilai Peningkatan : brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doendDalam scope of the for loop, set the brightness property of the light to the value in the control variable by typing light.Brightness = currentBrightness . Now, when the loop runs, the light will become brighter.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnessendJadi perubahan tidak terjadi sekaligus, tambahkan fungsi tunggu menggunakan nilai di timeChange .
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endJalankan game untuk melihat peningkatan cahaya dalam kecerahan setiap detik.
Jika Anda tidak dapat melihat perubahan kecerahan selama waktu di loop pertama:
- Pastikan bahwa light.Brightness = currentBrightness adalah antara do dan end dari lompatan Anda.
- Periksa bahwa timeChange adalah setidaknya 1 atau lebih tinggi. Angka yang lebih kecil akan membuat perubahan kecerahan lebih cepat, tetapi sulit untuk dilihat dalam jangka panjang.
- Pastikan bahwa baris pertama dari for loop Anda memiliki dua total koma mengurangi variabel kontrol, nilai akhir, dan nilai increment.
Loop Kedua (Light Decrease)
Untuk memudar cahaya, gunakan waktu satu detik untuk loop.Nilai-nilai dari loop ini akan dibalik sehingga cahaya dimulai terang dan setiap detik, menjadi lebih gelap.
Kode untuk loop yang mengurangi kecerahan saat bertambah. Solusinya adalah di kotak kode di bawah ini. Gunakan nilai berikut:
- Variabel Kontrol - currentBrightness tetap 5, akhir dari set terakhir.
- Akhir - 0, menyalakan lampu.
- Peningkatan - kurangi brightnessChange.
-- Lampu loop keduafor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endLari gameAnda; Anda harus melihat cahaya menyala dan kemudian memudar.
Membuat Ulang Ulang Cahaya
Saat ini, lampu hanya menyala dan mati sekali. Untuk membuat lampu bersinar secara terus-menerus di dalam dan di luar loop, for loop akan ditempatkan di dalam while loop.
Di bawah for loop, create a new while loop.
while true doendTempatkan kedua untuk loop dalam satu waktu loop. Jeda untuk loop untuk membuat mereka lebih mudah dibaca dari while loop.
while true dofor currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endendJalankan permainan untuk melihat cahaya bergilau dan memudar secara bertahap.
Skrip Cahaya Selesai
Versi lengkap dari script dapat diacak di bawah ini.
-- Menyimpan cahaya yang ditempatkan di lampu inilightPart = script.Parentlight = lightPart.SpotLight-- Berapa terangnya cahaya setiap kalilocal brightnessChange = 1-- Berapa kali dalam detik cahaya akan berubah cerahlocal timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- Lingkaran kedua untuk mematikan cahayafor count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
Sintesis
Untuk membuat efek kompleks dalam proyek, script dapat menggunakan banyak loop, dan bahkan kombinasi dari berbagai jenis loop. Untuk menulis cahaya bersinar, dua loop dinaikkan dalam satu waktu loop. Saat pengembang menambahkan lebih banyak loop, pastikan untuk memeriksa jarak antara kode sehingga kode dapat mudah dilihat.