Untuk berlatih untuk loop, Anda akan membuat lampu yang secara bertahap menyala lebih terang dan kemudian memudar selama waktu.Skrip ini kemudian dapat diterapkan ke lampu lain di proyek, apakah itu lampu jalan atau kristal bercahaya.
Menyiapkan bagian dan skrip
Lampu akan menjadi bagian dengan lampu dan skrip yang terpasang.
Untuk memudahkan melihat cahaya, ubah dunia permainan menjadi waktu malam . Di Explorer > Penerangan > ubah Waktu Tanggal menjadi 0.
Buat bagian atau model baru bernama Lamp.
Pilih Lampu, dan tambahkan cahaya , seperti PointLight atau SpotLight.Anda akan bekerja dengan properti kecerahan cahaya untuk membuat lampu bercahaya.
Di Lamp, tambahkan skrip baru bernama GlowScript. Di skrip itu, buat variabel untuk menyimpan bagian lampu dan titik cahaya.
local lightPart = script.Parentlocal light = lightPart.SpotLightSelanjutnya, buat variabel untuk menyimpan seberapa terang cahaya akan berubah setiap kali loop dijalankan.Kemudian, tambahkan variabel lain untuk berapa banyak detik lusin akan menunggu sebelum menjalankan lagi.
-- Seberapa terang cahaya akan berubah setiap kalilocal brightnessChange = 1-- Seberapa sering dalam beberapa detik cahaya akan berubah kecerahanlocal timeChange = 1
Membuat lampu bersinar
Lampu akan menggunakan dua untuk loop , satu yang menghitung untuk membuat lampu lebih terang, dan satu yang menghitung turun untuk mematikannya.Setiap untuk loop akan memiliki variabel kontrol yang disebut brightness saat ini.Dengan begitu, saat variabel kontrol loop berjalan naik dan turun, begitu juga kecerahan cahaya.
Lingkaran pertama (peningkatan cahaya)
Ingat, loop for dimulai dengan kata kunci for diikuti oleh variabel kontrol.Skrip ini akan mengatur 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 awal : 0
- Nilai akhir : 5
- Nilai Peningkatan : brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doendDalam lingkup loop for, atur properti kecerahan cahaya ke nilai dalam variabel kontrol dengan mengetik light.Brightness = currentBrightness .Sekarang, ketika loop berjalan, cahaya akan menjadi lebih terang.
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 permainan untuk melihat peningkatan cahaya setiap detik.
Jika Anda tidak dapat melihat perubahan kecerahan dari waktu ke waktu dalam loop pertama:
- Pastikan bahwa light.Brightness = currentBrightness berada di antara do dan akhir dari loop for Anda.
- Periksa bahwa timeChange setidaknya 1 atau lebih tinggi. Angka yang lebih kecil akan membuat perubahan kecerahan lebih cepat, tetapi lebih sulit untuk dilihat seiring waktu.
- Pastikan bahwa baris pertama dari loop for Anda memiliki dua koma total yang memisahkan variabel kontrol, nilai akhir, dan nilai peningkatan.
Lingkaran kedua (penurunan cahaya)
Untuk meredam cahaya, gunakan satu detik untuk loop. Nilai loop ini akan terbalik sehingga cahaya mulai terang dan setiap detik, menjadi lebih redup.
Kode satu kali lagi untuk loop yang mengurangi kecerahan seiring waktu. Solusinya ada di kotak kode di bawah ini. Gunakan nilai berikut:
- Variabel Kontrol - currentBrightness diatur ke 5, akhir dari loop terakhir.
- Akhir - 0, mematikan lampu.
- Peningkatan - kurangi brightnessChange .
-- Lampu loop kedua berkurangfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endJalankan gameAnda; Anda harus melihat cahaya terang dan kemudian redup.
Buat lampu mengulangi
Saat ini, cahaya hanya menyala dan mati sekali.Untuk membuat lampu terus bersinar dan mati, loop untuk akan ditempatkan di dalam loop berulang.
Di bawah loop for, buat loop while baru.
while true doendTempatkan keduanya untuk loop di dalam loop while. Buat lubang untuk loop agar lebih mudah dibedakan dari loop while.
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 beralih terang dan redup terus-menerus.
Skrip cahaya selesai
Versi selesai dari skrip dapat di referensikan di bawah ini.
-- Menyimpan cahaya yang terpasang pada lampu inilightPart = script.Parentlight = lightPart.SpotLight-- Seberapa terang cahaya akan berubah setiap kalilocal brightnessChange = 1-- Seberapa sering dalam beberapa detik cahaya akan berubah kecerahanlocal timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- Lingkaran kedua untuk mematikan lampufor count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
Singkatan
Untuk membuat efek kompleks dalam sebuah proyek, skrip dapat menggunakan banyak loop, dan bahkan kombinasi berbagai jenis loop.Untuk membuat kode lampu bercahaya, dua loop disarangkan dalam loop while.Saat pemrogram menambahkan lebih banyak loop, pastikan untuk memeriksa penyisipan agar kode dapat mudah dilihat.