Melanjutkan pembahasan sebelumnya, video ini membahas tiga blok Control berikutnya: wait until, repeat until, dan stop, lewat praktik membuat efek gravitasi dan lompatan sederhana.
Blok ini akan menunggu sampai kondisi yang diberikan bernilai true, dan baru menjalankan blok berikutnya setelah kondisi tersebut terpenuhi. Untuk mendemonstrasikannya, kita akan membuat efek sederhana: sprite kucing terus turun (gravitasi), dan melompat saat tombol spasi ditekan.
when [green flag] clicked
set [Gravity] to 0
forever
change [Gravity] by -1
change y by (Gravity)
Skrip ini membuat nilai Gravity terus berkurang (semakin negatif), sehingga posisi Y sprite terus menurun — menciptakan efek seperti gravitasi yang menarik kucing ke bawah terus-menerus.
when [green flag] clicked
forever
if then
set [Gravity] to 10
Dengan skrip ini, menekan tombol spasi akan membuat nilai Gravity menjadi 10 (positif), sehingga kucing bergerak naik. Namun ada masalah: jika tombol spasi ditahan terus, kucing akan terus naik tanpa henti karena kondisi terus bernilai true selama tombol ditekan.
Agar kucing hanya melompat sekali per tekan (bukan terus naik saat tombol ditahan), gunakan wait until dikombinasikan dengan operator not untuk menunggu sampai tombol dilepas terlebih dahulu:
when [green flag] clicked
forever
if then
set [Gravity] to 10
wait until >
Sekarang, setelah kucing melompat, skrip akan menunggu sampai tombol spasi benar-benar dilepas sebelum bisa memicu lompatan berikutnya — sehingga menahan tombol tidak lagi membuat kucing terus naik tanpa henti.
Blok ini mengulang kode di dalamnya terus-menerus sampai kondisi yang diberikan bernilai true (kebalikan dari repeat biasa yang mengulang berdasarkan jumlah angka tetap). Contoh skenario: sprite kucing bergerak maju terus sampai menyentuh tepi (edge) stage:
when [green flag] clicked
repeat until
move 10 steps
Kucing akan terus bergerak maju, dan otomatis berhenti begitu menyentuh tepi stage — karena kondisi touching edge? sudah bernilai true.
Blok ini menghentikan skrip yang sedang berjalan. Klik dropdown pada blok untuk melihat tiga pilihan:
Contoh penggunaan: kucing bergerak maju terus (menggunakan repeat until touching edge), namun jika kucing menyentuh sprite “Building” di tengah jalan, seluruh program langsung berhenti:
when [green flag] clicked
forever
move 10 steps
if then
stop [all]
Saat kucing menyentuh sprite Building, blok stop all akan langsung menghentikan seluruh skrip yang sedang berjalan, sehingga kucing berhenti bergerak seketika — berbeda dari sebelumnya yang baru berhenti saat menyentuh tepi stage.
wait until — menunggu sampai kondisi tertentu bernilai true sebelum melanjutkan ke blok berikutnya.repeat until — mengulang kode sampai kondisi tertentu terpenuhi (berbeda dengan repeat yang mengulang berdasarkan jumlah tetap).stop — menghentikan skrip, dengan tiga pilihan cakupan: all (semua skrip), this script (skrip ini saja), atau other scripts in sprite (skrip lain pada sprite yang sama).