Wednesday, 26 May 2010

Klik Tombolnya (3)

Tulisan ini merupakan lanjutan dari:
Klik Tombolnya (1)
Klik Tombolnya (2)


Setelah kita membuat fungsi "proses", yang kurang lebih hanya memeriksa apakah koordinat (x,y) mouse berada diantara / didalam kotak tombol. Maka selanjutnya adalah apakah tombol sudah benar-benar ditekan? Jawabannya ada pada potongan kode berikut:

...
case SDL_MOUSEBUTTONDOWN:
if( event.button.button == SDL_BUTTON_LEFT)
klikKiri = true;
break;
...

case GS_MAINMENU:{
tombol tblPlay(350,140,GS_PLAYGAME);
tombol tblLoad(350,220,GS_LOADGAME);
tombol tblExit(350,300,GS_EXITGAME);

if( klikKiri)
{
if( tblPlay.proses(Xmouse,Ymouse))
gameStatus = tblPlay.getStat();
else if( tblLoad.proses(Xmouse,Ymouse))
gameStatus = tblLoad.getStat();
else if( tblExit.proses(Xmouse,Ymouse))
gameStatus = tblExit.getStat();
}

//DRAWING TIME!!
showTeks(40,80,"Ini adalah Menu Utama");
tblPlay.tampil("Play Game");
tblLoad.tampil("Load Game");
tblExit.tampil("Exit Game");
} break;
...
Potongan kode diatas (case GS_MAINMENU: ...) adalah bagian dari layout atau frame Main Menu. Dapat dilihat bahwa sebelum kita memproses koordinat mouse terhadap tombol, sebelumnya kita memastikan apakah tombol kiri telah ditekan? Jika iya maka nilai klikKiri akan bernilai true. Tapi jika kita tidak mereset kembali nilai klikKiri menjadi false maka saat tombol kiri mouse ditekan tanpa ada diatas objek tombol, ketika pergerakan mouse melewati objek tombol tertentu tanpa penekanan tombol kiri mouse, maka proses tetap terjadi. Ini terjadi karena nilai klikKiri selalu true. Maka itu diawal loop main klikKiri diset menjadi false:

...
while (!done)
{
klikKiri = false;
...
Sampai disini kita sudah dapat berkreasi dengan menggunakan mouse. Berikut contoh screenshot game yang populer dari sekian buanyakknya game dengan menggunakan mouse:

Gambar 1. Mystery PI Lottery Ticket.

Gambar 2. The Secret of Monkey Island (untuk PC tentunya).


- krofz

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top