Sumbangan / Donate

Donate (Libery Reserve)


U5041526

Kamis, 29 Desember 2011

Tutorial Game Maker Bagi Pemula [Part 2]

Sekarang kita lanjut lagi. Jika file kemarin sempat di save, buka file kemarin. Jika tidak disave, maka buatlah sebuah sprite (ukuran 32x32, persegi 4 dengan warna terserah).
Lalu buat sebuah object, beri nama obj_test. Untuk event nya tidak perlu dibuat lagi, kita langsung ke event selanjutnya. Dan jangan lupa menaruh obj_test dalam room.



Di part1 tadi sudah sampai Collision, sekarang Event Keyboard.
Event keyboard ada 3, bisa dilihat pada pada gambar diatas. Terdapat Keyboard, Key Press, dan Key Release.

Keyboard
Coba buat sebuah event Keyboard. Lalu pilih . Dan isi kode ini:

x+= 5

Masih ingatkan cara mengisi kode? Atau sudah tau kan caranya?
Jika lupa atau tidak tau, saya akan ulang lagi.



Cukup meng-klik dan menyeret Icon Execute File ke kolom Action, dan ketik kodenya.

Dan jalankan gamenya.
Object akan bergerak kekanan ketika kita menekan tombol Kanan.
Ok, sekarang close gamenya, dan kita ke event Key Press.

Key Press

Sekarang klik kanan pada Event Keyboard , dan pilih Change Event.


dan ganti dengan Event Key Press, pilih , lalu jalankan lagi gamenya.
Coba tekan tombol Kanan, object akan bergeser kekanan. Sudah jelas kan bedanya event Keyboard dan event Key Press.
Event Keyboard: Tekan dan tahan, object akan terus bergeser
Event Key Press: Tekan 1x object bergeser 1x, tekan 2x object bergeser 2x, dan seterusnya :P

Key Release
Event ini berfungsi ketika tombol dilepas, artinya kebalikan dari Key Press. Jika Key Press, saat kita tekan tombolnya, maka object akan bergeser, tapi jika Key Release, ketika kita tekan tombolnya, object tidak bergeser, dan ketika kita lepas tombolnya, object akan bergeser.
Kamu bisa mencobanya sendiri, caranya sama dengan mengganti event Key Press tadi.

Kembali lagi ke event yang tadi di skip.

Mouse
Terdapat banyak fungsi dalam event ini:



Saya akan membahas Mouse bagian left saja, untuk right dan middle sama saja dengan yang left :)
Teorinya seperti ketiga Event Keyboard tadi

Left Button, sama dengan Event Keyboard. Tekan dan tahan mouse, maka object akan terus bergeser.
Left Pressed, sama dengan Even Key Press. Tekan mouse 1x, object bergerak 1x.
Left Release, sama dengan Event Key Release. Saat mouse dilepas, maka object akan bergeser.

Jika Mouse Whell Up, ketika scroll mouse di scroll keatas, maka object bergeser. Sedangkan Mouse Wheel Down adalah kebalikannya, yaitu jika scroll mouse di scroll kebawah, maka object bergeser.

Global Mouse berarti mouse diklik di sembarang tempat. Artinta tidak harus diklik pada object yang memilik Event ini.

Untuk Joystick kita tidak akan membahasnya, karena saya tidak punya joystick :P
Jadi saya gak pernah menggunakan event itu, namun teorinya sama saja dengan yang lainnya.

Other


Other artinya lainnya. Jadi fungsinya berbeda-beda.
Untuk Outside Room, biasanya digunakan apabila ada kemungkinan object keluar dari room. Maka untuk aksi tambahan, digunakanlah event ini.

Misalnya: jika obj_peluru keluar ruangan, maka obj_peluru hancur.
Untuk kodenya bisa gunakan kode ini untuk menghancurkan object.

instance_destroy()

Intersect Boundary artinya perpotongan batas. Event ini bekerja saat ada object memotong batas room, atau terletak sebagian diluar room. (masih kurang mengerti dengan event ini :P)

View, ini sama dengan Outside room, tapi ini khusus untuk outside view.
Jika room ukurannya 1000x1000, namun viewnya berukuran 640x480, maka ketika object keluar dari view (lebih dari 640x480), maka fungsi ini akan aktif.
View mempunyai banyak ID, sama seperti Alarm, jika sudah menggunakan alarm[0], maka selanjutnya harus menggunakan alarm[1] (kecuali untuk aksi tertentu), dst.

Game Start, fungsi ini akan aktif ketika game dimulai. Berbeda dengan event create yg hanya berfungsi jika event itu ada atau baru terbentuk. Namun event ini akan selalu begini apa adanya :P

Misalnya: Ketika game dimulai, maka load game. Ini untuk membuat game di load secara otomatis.
Scriptnya: game_load(filename)
Ini akan dibahas di part selanjutnya.

Jika Game End ya ketika game selesai / di close, maka fungsi ini akan melakukan sesuai sebelum game benar-benar close. Misalnya: ketika game end, maka game_save(filename).

Room Start, sedikit berbeda dengan Game Start. Bedanya, jika game start hanya terjadi 1x yaitu pada saat game dimulai. Sedangkan room start, akan terjadi setiap pergantian room, juga terjadi saat game dimulai.
Room end ya tau sendiri lah :D
Yaitu ketika berpindah room, maka sebelum meninggalkan room fungsi ini akan aktif.

No more lives dan No more health hanya bisa digunakan jika kita menggunakan action ini:



Yaitu action pada Live dan Health.
Tanpa itu juga bisa, dengan cara menggunakan variable lives sebagai pengganti aksi Lives, dan variable health sebagai pengganti aksi Health.

Contohnya (silakan diikuti)
Buat Create event, jika sudah ada, maka tinggal tambahkan Execute Code, lalu masukan code ini:

lives = 3
health = 100
score = 0 // ini untuk tambahan

Ingat, jika ada tanda // (dua garis miring), dan warna teks nya berwarna hijau, maka itu disebut komentar. Komentar tidak akan berpengaruh ke scriptnya.

Ok, variable diatas akan kita gunakan nanti.

Animation End, fungsi ini akan aktif jika animasi dalam sprite itu sudah mencapai gambar terakhir, atau animasinya selesai. Umumnya, ketika animasi selesai, animasi akan kembali keawal dan membuat gambar animasi seakan-akan tidak berhanti bergerak.
Dengan fungsi ini, kita dapat menghentikan animasinya ketika animasi selesai. Caranya tambahkan kode ini pada Event ini:
image_speed = 0
image_index = **ini diisi dengan gambar keberapa pada animasi**

Untuk image_index, untuk mengetahui gambar keberapa bisa dilihat di spritenya, tinggal edit sprite dan lihat nomornya. Tidak perlu dihitung, karena tidak gambar sudah ada nomornya. Yaitu image 0 sampai image terakhir. Gambar selalu dimulai dari 0, bukan 1, jadi jika ada 10 gambar, maka gambar terakhir bernomor 9.

End of Path, sama dengan Animation end, namun ini untuk Path.

Close button, saat tombol close di tekan, maka fungsi ini yang akan bekerja, seperti misalnya bertanya, "Apakah anda yakin ingin keluar?".

User defined, hampir sama dengan alarm, jadi fungsi ini kita panggil melalui script ev_user0 untuk memanggil event user defined 0. Jadi user defined tidak akan pernah muncul sampai kita sendiri yang memanggil nya.

Draw
Draw menjadi bagian yang penting dalam game, tanpa draw game kita akan tidak akan menarik. Fungsi draw untuk menampilkan text, gambar, partikel, dll.
Sekarang buat event Draw, dan ketik kode ini:

draw_text(10,10,'Nyawa: '+string(lives)+"#Darah: "+string(health)+"#Skor: "+string(score))

10,10 merupakan letak koordinat. Biasanya koordinat dimulai dengan x terlebih dahulu. Maka 10,10 berarti x = 10, y = 10.
Untuk str / string, harus menggunakan tanda " (kutip), dan harus menutupnya lagi dengan tanda kutip. Boleh kutip 1 boleh juga kutip 2. Jika diawal menggunakan kutip 1, maka penutupnya harus menggunakan kutip 1 juga. Perhatikan scriptnya.
Jika menggunkana string(value), maka tidak perlu ditambahkan tanda kutip. Cukup menambahkan tanda + untuk menambahkan string(), dan tambahkan tanda + lagi untuk menambahkan string. Tanda # berarti Enter.

Sekarang jalankan gamenya, kamu akan melihat ada teks di pojok kiri atas.
Ok, close gamenya, sekarang tambahkan kode ini diatas kode tadi (tinggal tekan enter agar tercipta garis baru, tapi kode yg tadi ditaruh dibawah.)
draw_sprite(sprite_index,image_index,x,y) //agar sprite objectnya terlihat
draw_set_color(c_red) //hapus red dan ganti dengan warna lain. Ketika kamu hapus red nya, otomatis GM akan menampilkan daftar warna yang bisa dipakai.

Kode ini akan membuat teks nya berwarna merah.

Untuk Trigger kita tidak membahasnya :P
Setelah tidak menjadi newbie, silakan pelajari hal-hal yang tidak dibahas.

Dan satu hal lagi, bagian yang tidak saya bahas memang tidak perlu dibahas untuk newbie :)

Silakan di save gamenya, di part 3 kita akan lanjut lagi.

Selamat mencoba :D