Untuk mempraktikkan for loops, Anda akan membuat sebuah lampu yang perlahan-lahan menyala lebih cerah dan kemudian meredup seiring waktu. Skrip ini kemudian dapat diterapkan pada lampu lain dalam sebuah proyek, baik itu lampu jalan atau kristal yang bercahaya.
Siapkan bagian dan skrip
Lampu akan menjadi sebuah bagian dengan lampu dan skrip yang terpasang.
Untuk memudahkan melihat lampu, ubah dunia 3D menjadi malam hari. Di Explorer ⟩ Lighting, ubah ClockTime ke 0.

Buat bagian atau model baru bernama Lamp.

Pilih Lamp, dan tambahkan lampu, seperti PointLight atau SpotLight. Anda akan bekerja dengan properti kecerahan lampu untuk membuat lampu yang bersinar.

Dalam Lamp, tambahkan skrip baru bernama GlowScript. Dalam skrip itu, buat variabel untuk menyimpan bagian lampu dan lampu titik.
local lightPart = script.Parentlocal light = lightPart.SpotLightSelanjutnya, buat variabel untuk menyimpan berapa banyak kecerahan lampu akan berubah setiap kali loop dijalankan. Kemudian, tambahkan variabel lain untuk berapa banyak detik loop akan menunggu sebelum dijalankan lagi.
-- Seberapa banyak kecerahan lampu akan berubah setiap kalilocal brightnessChange = 1-- Seberapa sering dalam detik lampu akan mengubah kecerahanlocal timeChange = 1
Buat lampu bersinar
Lampu akan menggunakan dua for loops, satu yang menghitung untuk membuat lampu lebih cerah, dan satu yang menghitung untuk meredupkannya. Setiap for loop akan memiliki variabel kontrol yang disebut currentBrightness. Dengan cara ini, saat variabel kontrol for loop naik dan turun, begitu juga dengan kecerahan lampu.
Loop pertama (peningkatan cahaya)
Ingat, sebuah for loop dimulai dengan kata kunci for diikuti oleh variabel kontrol. Skrip ini akan mengatur nilai kecerahan lampu ke nilai dalam variabel kontrol.
Kodekan for loop menggunakan nilai berikut. Ingat untuk memisahkan variabel kontrol dan nilai akhir dengan koma.
- Variabel kontrol: currentBrightness
- Nilai awal: 0
- Nilai akhir: 5
- Nilai Increment: brightnessChange
local timeChange = 1for currentBrightness = 0, 5, brightnessChange doendDalam lingkup for loop, atur properti kecerahan lampu ke nilai dalam variabel kontrol dengan mengetik light.Brightness = currentBrightness. Sekarang, ketika loop dijalankan, lampu akan semakin cerah.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnessendSupaya perubahan tidak terjadi sekaligus, tambahkan fungsi wait menggunakan nilai dalam timeChange.
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endJalankan pengalaman untuk melihat lampu meningkat dalam kecerahan setiap detik.
Jika Anda tidak dapat melihat perubahan kecerahan seiring waktu dalam loop pertama:
- Pastikan bahwa light.Brightness = currentBrightness berada di antara do dan end dari for loop Anda.
- Periksa bahwa timeChange setidaknya 1 atau lebih tinggi. Angka yang lebih kecil akan membuat perubahan kecerahan lebih cepat, tetapi lebih sulit dilihat seiring waktu.
- Pastikan bahwa baris pertama dari for loop Anda memiliki dua koma total yang memisahkan variabel kontrol, nilai akhir, dan nilai increment.
Loop kedua (penurunan cahaya)
Untuk meredupkan lampu, gunakan for loop kedua. Nilai dari loop ini akan dibalik sehingga lampu mulai cerah dan setiap detik, menjadi lebih redup.
Kodekan for loop kedua 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.
- Increment - mengurangi brightnessChange.
-- Loop kedua meredupkan lampufor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endJalankan pengalaman Anda; Anda harus melihat lampu meningkat dan kemudian meredup.
Buat lampu berulang
Saat ini, lampu hanya menyala dan mati sekali. Untuk membuat lampu terus menerus menyala dan mati, for loops akan ditempatkan di dalam while loop yang berulang.
Di bawah for loops, buat while loop baru.
while true doendTempatkan kedua for loops di dalam while loop. Indentasi for loops agar lebih mudah dibedakan 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 pengalaman untuk melihat lampu menjadi cerah dan meredup secara terus-menerus.
Skrip lampu yang selesai
Versi selesai dari skrip dapat dirujuk di bawah ini.
-- Menyimpan lampu yang terpasang pada lampu inilightPart = script.Parentlight = lightPart.SpotLight-- Seberapa banyak kecerahan lampu akan berubah setiap kalilocal brightnessChange = 1-- Seberapa sering dalam detik lampu akan mengubah kecerahanlocal timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- Loop kedua untuk mematikan lampufor count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
Ringkasan
Untuk menciptakan efek kompleks dalam sebuah proyek, skrip dapat menggunakan beberapa loop, dan bahkan kombinasi berbagai jenis loop. Untuk mengkodekan lampu yang bersinar, dua loop bersarang di dalam sebuah while loop. Saat pencoder menambahkan lebih banyak loop, pastikan untuk memeriksa indentasi agar kode mudah dibaca.