Banyak hal dalam ilmu komputer atau pengembangan game sering kali diulang. Misalnya, sebuah aplikasi mungkin memperbarui konten dalam umpan setiap beberapa detik, atau sebuah game mungkin memberikan penghargaan kepada pemain setiap hari mereka masuk. Untuk mencapai perilaku ini, pengkode sering kali menggunakan loop.
Dalam ilmu komputer, loop adalah pola pengkodean yang mengulang sekumpulan instruksi, biasanya sampai kondisi tertentu terpenuhi. Untuk berlatih ini, Anda akan mengkode bagian yang mengubah warna tanpa henti. Pelajaran selanjutnya akan menunjukkan cara menghentikan pengulangan.
Siapkan bagian dan skrip
Gunakan proyek Roblox apa pun untuk latihan ini. Setelah selesai, bagian ini dapat digunakan sebagai cara menghias lingkungan.
Buat bagian baru dengan nama deskriptif. Pelajaran ini menggunakan LoopingPart.
Di ServerScriptService, tambahkan skrip baru bernama LoopingScript.
Dalam skrip, hapus Hello World dan tulis komentar yang menyatakan tujuan skrip ini.
-- Mengubah warna LoopingPart setiap beberapa detik
Gunakan variabel untuk menyimpan bagian
Variabel juga bisa menyimpan referensi ke objek selain string. Misalnya, ketika sebuah skrip tahu referensi ke sebuah bagian, skrip tersebut dapat mengubahnya.
Alih-alih mengetik workspace.NameOfYourPart berulang kali, seluruh baris itu dapat disimpan di dalam variabel lokal. Variabel lokal dibuat dengan mengetik local dan kemudian nama variabel tersebut.
Contohnya: local nameOfVariable.
Di bawah komentar, buat sebuah variabel lokal dengan mengetik local loopingPart.
-- Mengubah warna LoopingPart setiap beberapa detiklocal loopingPartTetapkan variabel ke bagian looping dengan mengetik = workspace.LoopingPart di baris yang sama. Ingat bahwa operator = mengatur nilai variabel ke apa pun yang ada di sebelah kanan.
-- Mengubah warna LoopingPart setiap beberapa detiklocal loopingPart = workspace.LoopingPart
Loop while
Sebelum membuat loop while untuk bagian yang mengubah warna, ada baiknya menjelaskan sintaksnya. Sebuah loop while memiliki tiga komponen:
- Kata kunci while.
- Sebuah kondisi, selalu setelah kata kunci.
- Instruksi, di antara kata kunci do dan end.
Dalam loop, kondisi dapat berupa berbagai pernyataan logis. Beberapa contohnya adalah jika dua angka sama. Loop akan berjalan jika kondisinya benar.
Perhatikan dalam contoh di bawah ini, kondisinya benar, artinya loop ini akan berjalan selamanya. Dalam pelajaran selanjutnya, Anda akan mengkode kondisi spesifik yang menghentikan loop.
while true doprint("Loop ini berjalan")end
Kode loop while
Selanjutnya, Anda akan menyiapkan loop while untuk bagian yang mengubah warna.
Di baris berikutnya ketik while true do. Kemudian, tekan Enter untuk menyelesaikan otomatis dan tambahkan kata end.
-- Mengubah warna loopingPart setiap beberapa detiklocal loopingPart = workspace.LoopingPart-- Kode Pengulanganwhile true doend
Tambahkan kode dalam loop
Dengan loop while yang dibuat, instruksi dapat ditambahkan untuk mengubah warna bagian dari waktu ke waktu. Di dalam loop, tambahkan satu baris kode untuk setiap warna. Setiap warna akan menggunakan nilai RGB, cara menyimpan warna sebagai angka dalam ilmu komputer.
Di antara while true do dan end, tetapkan properti Color dari bagian menjadi Color3.fromRGB().
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endPengaturan warna dapat dilakukan menggunakan pemilih warna di Studio. Untuk melakukannya, klik kiri di dalam () di sebelah fromRGB. Kemudian, klik ikon roda warna. Setelah Anda mendapatkan warna yang diinginkan, tekan OK untuk secara otomatis menambahkan nilai warna dalam kode.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Buat skrip menunggu
Jika Anda menambahkan baris kedua dari kode pengubah warna sekarang, itu akan mengubah warna batu bata terlalu cepat sehingga Anda mungkin tidak bahkan melihat warna pertama berlalu. Untuk membuat skrip menunggu sebelum menjalankan baris kode berikutnya, gunakan fungsi task.wait().
Di baris setelah mengubah warna batu bata, ketik task.wait(3). Angka apa pun yang ditempatkan di dalam () adalah berapa detik skrip akan menunggu.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endDi bawah fungsi tunggu, ulangi proses yang sama untuk menambahkan warna baru. Selesaikan dengan fungsi tunggu tambahan.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endUji kode dan lihat apakah warnanya berubah.
Catatan Pemecahan Masalah
Pada titik ini, jika bagian pengubah warna tidak berfungsi seperti yang dimaksudkan, coba salah satu dari berikut ini.
Masalah: Warna terlewat
- Pastikan Anda memiliki fungsi tunggu di antara setiap perubahan warna, terutama di baris terakhir.
- Periksa bahwa semua kode perubahan warna dan tunggu berada di antara bagian while true do dan end.
Masalah: Bagian tetap abu-abu atau tidak berubah warna seperti yang dimaksudkan
- Pastikan semua nilai RGB memiliki angka dari 0 hingga 255, merupakan angka bulat atau desimal, dan dipisahkan oleh koma.
- Angka di dalam () dari fungsi tunggu harus lebih besar dari 1. Bisa jadi jika tunggu terlalu singkat, Anda mungkin tidak melihat warna tersebut.
Skrip bagian pengulangan warna lengkap
-- Buat variabel untuk menyimpan bagianlocal loopingPart = workspace.LoopingPart-- Kode Pengulanganwhile true do-- Mengubah warna loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Tunggu 3 detik sebelum instruksi berikutnyatask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Ringkasan
Loop adalah elemen umum dalam sebagian besar bahasa komputer. Mereka digunakan untuk mengulang instruksi, terkadang sampai kondisi tertentu terpenuhi. Dalam artikel ini, loop while digunakan untuk mengulang instruksi selamanya. Untuk membuat loop while yang mengulang selamanya, gunakan sintaks di bawah ini, pastikan untuk menyertakan instruksi di antara kata kunci do dan end.
while true do-- Instruksiend