Cahaya Bersinar dengan Untuk Loop

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

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.

  1. Untuk membuat lebih mudah melihat cahaya, ubah dunia permainan menjadi malam hari . Di Explorer > Lighting > ubah ClockTime menjadi 0.

    image
  2. Buat bagian baru atau model bernama Lamp.

  3. Pilih Lamp, dan tambahkan cahaya , seperti PointLight atau SpotLight. Anda akan bekerja dengan proporsi kecerahan cahaya untuk menciptakan lampu bercahaya.

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


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Selanjutnya, 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 kali
    local brightnessChange = 1
    -- Berapa kali dalam detik cahaya akan berubah cerah
    local 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.

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


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

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

  1. Di bawah for loop, create a new while loop.


    while true do
    end
  2. Tempatkan kedua untuk loop dalam satu waktu loop. Jeda untuk loop untuk membuat mereka lebih mudah dibaca 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 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 ini
lightPart = script.Parent
light = lightPart.SpotLight
-- Berapa terangnya cahaya setiap kali
local brightnessChange = 1
-- Berapa kali dalam detik cahaya akan berubah cerah
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Lingkaran kedua untuk mematikan cahaya
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

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.