Lampu bersinar dengan for loops

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

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.

  1. Untuk memudahkan melihat lampu, ubah dunia 3D menjadi malam hari. Di ExplorerLighting, ubah ClockTime ke 0.

    gambar
  2. Buat bagian atau model baru bernama Lamp.

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

  4. Dalam Lamp, tambahkan skrip baru bernama GlowScript. Dalam skrip itu, buat variabel untuk menyimpan bagian lampu dan lampu titik.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Selanjutnya, 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 kali
    local brightnessChange = 1
    -- Seberapa sering dalam detik lampu akan mengubah kecerahan
    local 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.

  1. 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 = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. Dalam 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 do
    light.Brightness = currentBrightness
    end
  3. Supaya perubahan tidak terjadi sekaligus, tambahkan fungsi wait menggunakan nilai dalam timeChange.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Jalankan 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.

  1. 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 lampu
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Jalankan 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.

  1. Di bawah for loops, buat while loop baru.


    while true do
    end
  2. Tempatkan kedua for loops di dalam while loop. Indentasi for loops agar lebih mudah dibedakan dari while loop.


    while true do
    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    end
  3. Jalankan 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 ini
lightPart = script.Parent
light = lightPart.SpotLight
-- Seberapa banyak kecerahan lampu akan berubah setiap kali
local brightnessChange = 1
-- Seberapa sering dalam detik lampu akan mengubah kecerahan
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Loop kedua untuk mematikan lampu
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

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.

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.