Saya yakin bahwa semua bahasa pemprograman aplikasi mempunyai metode logika dalam scriptnya.
Contoh logika:
Jika saya memakan kue ini, maka saya akan kenyang. Tapi kalau saya tidak makan kue ini, maka saya tidak akan kenyang, dan kue ini jadi mubazir.
Dalam script, logika diatas bisa ditulis seperti ini:
if kue = 0 //nol artinya habis
{ //maka.. ini berarti pembukaan pada Maka, jadi harus ada penutupnya
saya = 1 //atau bisa menggunakan saya = 'kenyang', ya tergantung suasana lah :P
} //inilah penutup untuk Maka
else //tapi, jika tidak
{ //maka
saya = 0 //atau saya not = 1, atau saya != 1, atau saya not = 'kenyang', atau saya = 'lapar'
kue = 'mubazir'
} //penutup Maka
Script itu tentunya bisa berbeda, tergantung dari variable yang digunakan. Variable adalah tempat untuk menampung nilai.
Variable yang digunakan dalam script diatas adalah saya dan kue.
If... Then
If artinya JIKA, Then artinya MAKA. Dalam konsep bahasa Indonesia, kalimat yang menggunakan kata jika dan maka sangat mudah untuk dirangakai. Sama seperti script, hanya saja script menggunakan bahasa yang lebih singkat, atau lebih panjang dari kalimat bahasa Indonesianya. Jika kamu menguasai If Then, maka kamu sudah bisa membuat sebuah game.
Contoh penggunaan If... Then
Buatlah Create event, dan isi kode ini:
tekan = 0
Pada event Key Press Spasi, isi kode ini:
tekan += 1 //artinya, setiap spasi ditekan, maka tekan bertambah sebanyak 1
Pada step event, isi kode ini:
if tekan = 1
{
show_message('Tekan sama dengan 1')
tekan = 0
}
Jalankan gamenya, lalu tekan spasi 1x, maka akan keluar pesan Tekan sama dengan 1.
Keterangan:
tekan adalah variable, nilai awalnya yaitu nol.
tekan += 1 itu sama artinya dengan tekan = tekan + 1.
show_message artinya menampilkan pesan.
tekan = 0 berarti membuat nilai tekan menjadi 0, hal ini dilakukan agar game tidak terjadi error. Jika tekan = 0 tidak disertakan dalam kodenya, maka pesan tidak akan berhenti keluar. Karena nilai tekan selalu 1 dan jika nilai tekan = 1 maka akan keluar pesan.
Kira-kira begitulah cara kerja If... Then.
Perlu diingat, script pada GML tidak menggunakan huruf kapital. If, then, else, return, break, or, and, with, dan fungsi lainnya tidak menggunakan huruf kapital, semuanya huruf kecil.
If... Then... Else
Penggunaan ini sama saja dengan penggunakan tadi, tapi ini menggunakan fungsi tambahan,. Langsung saja kita kecontohnya.
Tidak perlu menghapus semua script tadi, cukup scrip Key Press Spasi dan Step yang diubah.
Pada Key Press Spasi, ubah menjadi:
tekan = choose(0,1,2) //memilik angka secara bebas dari ketiga angka tsb.
Pada Step event, ubah menjadi:
if tekan = 1
{
show_message('Tekan sama dengan 1')
tekan = 0
}
else if tekan = 2
{
show_message('Tekan tidak sama dengan 1')
tekan = 0
}
Sekarang jalankan gamenya. Coba lah untuk menekan spasi beberapa kali, maka pesan akan muncul ketika tekan = 1 atau 2, dan pesan tidak akan muncul jika tekan = 0.
Jika pesan = 1, maka teks pada pesan adalah Tekan sama dengan 1, tapi jika tekan = 2, teks pada pesan adalah Tekan tidak sama dengan 1.
With
With artinya dengan. Dengan ini kita bisa melakukan sesuatu dengan object lain. Misalnya menghancurkan object musuh.
Contohnya:
Buat sebuah object lagi, dan beri nama obj_musuh. Lalu set sprite untuk object ini.
Lalu pada obj_test, hapus kode dalam event Key Press Spasi menjadi:
with (obj_musuh) instance_destroy()
Sekarang taruh obj_musuh pada room, dan play. Sekarang tekan spasi, maka obj_musuh akan menghilang / musnah.
Or
Or artinya Atau. Dengan fungsi ini, kita dapat memanggil aksi jika Masalah1 yang terjadi, atau Masalah2 yang terjadi (atau salah satu dari Masalah nya)
Contoh:
Ubah script pada Step event menjadi ini:
if tekan = 1 or tekan = 2
{
show_message('Tekan sama dengan 1')
tekan = 0
}
Pada event Key Press Spasi, ubah menjadi:
tekan = choose(0,1,2)
Sekarang jalankan gamenya, maka akan keluar pesan Tekan sama dengan 1 apabila tekan = 1 ataupun tekan = 2.
And
And artinya dan. Object ini hampir sama dengan Or, hanya saja, and akan melakukan tugasnya apabila Masalah1 dan Masalah2 terjadi dalam 1 waktu, atau bersamaan.
And biasa disingkat dengan &&.
Contoh dalam kehidupan sehari-hari:
Jika ibu pergi ke pasar pada jam 10 dan ayah pergi ke kantor pada jam 10, maka mereka akan bertemu perempatan jalan.
Dari contoh diatas, kita dapat mengetahui bahwa salah satu dari mereka tidak pergi jam 10, maka mereka tidak akan bertemu di perempatan jalan.
Not
Not artinya tidak. Fungsi ini menyatakan sesuai yang tidak. Biasanya fungsi ini disingkat dengan ! (tanda seru).
Contoh:
If tekan not = 1 or tekan not = 2
{
tekan = 0
}
Sungguh jelaskan?
Jika tekan bukan 1, dan tekan bukan 2, maka tekan adalah 3.
For
Fungsi ini digunakan untuk suatu pengulangan. For disusun seperti ini:
for (
Pertama, Statement1 dieksekusi / disingkirkan. Kemudian Expression dievaluasi/dinilai. Jika true /benar, maka statement 3 di eksekusi; kemudian statement 2 dan expression di evaluasi lagi, ini akan berlanjut sampai expression bernilai false / salah.
Contoh:
Program berikut menginisialisasi array panjang 10 dengan nilai 1 - 10.
for (i=10; i<=9; i+=1) list[i] = i+1
Repeat
Fungsi ini akan mengulang fungsi yang akan dilakukan.
Contohnya:
repeat(5) instance_create(x,y,obj_musuh)
Ini berarti obj_musuh akan diciptakan sebanyak 5x di koordinat x,y.
While
While artinya saat. Fungsi ini akan memprediksi sesuatu dan melakukan tugasnya.
Contoh:
while (place_free(x,y))
{
instance_create(x,y,obj_musuh)
}
Artinya, saat koordinat x,y kosong / tidak ada object lain, maka akan diciptakan obj_musuh di koordinat x,y.
Do... Until
Artinya Lakukan... Sampai.
Contohnya:
do
{
instance_create(x,y,obj_musuh)
}
until (!place_free(x,y))
Artinya, obj_musuh akan terus diciptakan sampai di koordinat x,y tidak kosong / ada object.
Switch
Sama dengan saklar, jadi kita bisa merubah-rubah keadaan.
Dalam sejumlah situasi kita ingin membiarkan tindakan kita tergantung pada nilai tertentu. Kita dapat melakukannya dengan menggunakan sejumlah If tapi lebih mudah untuk menggunakan switch.
Contoh:
switch (keyboard_key)
{
case vk_left:
x -= 4; break;
case vk_right:
x += 4; break;
case vk_up:
y -= 4; break;
case vk_down:
y += 4; break;
}
Artinya, Switch (tombol keyboard)
case tombol kiri, maka x -= 4
case tmbol kanan, maka x += 4
case tombol atas, maka y -= 4
case tombol bawah, maka y += 4
Setiap susunan pada fungsi ini memang dibuat begitu.
Break
Jika digunakan dalam fungsi seperti ini:
for-loop, while-loop, switch, with, itu akan menghentikan fungsi ini, atau menhentikan loop nya. Namun jika Break ditaruh diluar dari bagian itu, maka programnya akan berhenti (bukan gamenya).
Continue
Jika digunakan dalam for-loop, repaet-loop, while-loop, with, maka continue akan melanjutkan nilai / value selanjutnya untuk bagian loop dan with.
Exit
Fungsi ini untuk menghentikan fungsi lainnya dalam script.
Return
Dengan ini kita bisa mengembalikan nilai / value dalam script sehingga script dapat digunakan dalam expression.
Contoh:
return (argument0+argument1)
Sekian tutorial part 4 ini. Mungkin ada beberapa fungsi yang kurang jelas, itu bisa kamu cari di google dan pelajari sendiri. Karena untuk newbie belum harus menggunakan keseluruhan fungsi itu. Tapi saya yakin itu semua dapat dimengerti :)
Tips dari saya:
*Perbanyaklah bertanya di forum-forum Game Maker dan belajar lah dari apa yang kamu lihat.
*Dan jangan ragu mendownload file *.gmk dan mempelajari setiap scriptnya.
Bergabunglah ke grup Game Maker Indonesia di Facebook :)
http://www.facebook.com/groups/ind.gamemaker/
Semoga tulisan-tulisan diatas bisa bermanfaat untuk kita :)