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 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.

  1. Untuk memudahkan melihat cahaya, ubah dunia permainan menjadi waktu malam . Di Explorer > Penerangan > ubah Waktu Tanggal menjadi 0.

    image
  2. Buat bagian atau model baru bernama Lamp.

  3. Pilih Lampu, dan tambahkan cahaya , seperti PointLight atau SpotLight.Anda akan bekerja dengan properti kecerahan cahaya untuk membuat lampu bercahaya.

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


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

  1. 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 = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. Dalam 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 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 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.

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

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


    while true do
    end
  2. Tempatkan keduanya untuk loop di dalam loop while. Buat lubang untuk loop agar lebih mudah dibedakan dari loop while.


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

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.