Rabu, 01 Mei 2013

Interaksi Keyboard pada OpenGL


Hampir semua jenis game komputer menggunakan keyboard untuk mengontrol objek di dalamnya. Input dari keyboard dalam game merupakan hal yang sangat penting dalam pemrograman game.

GLUT juga memiliki fungsi sederhana yang menyediakan fasilitas untuk keyboard controlling. GLUT menyediakan fungsi-fungsi yang berbeda untuk menangani normal key events seperti 1,2,A,B,ESC dan special key events seperti UP, DOWN, F1 dan lain-lain.

Fungsi pertama, glutKeyboardFunc, digunakan untuk memberitahu sistem windows fungsi mana yang akan memproses normal key events. Yang dimaksud dengan normal key events adalah tombol huruf, angka, dan tombol lain yang memiliki kode ASCII. Syntax untuk fungsi ini adalah sebagai berikut :


void glutKeyboardFunc(void (*func) (unsigned char key, int x, int y));

Dimana func, merupakan nama fungsi yang akan memproses normal keyboard events. Memasukkan nilai NULL sebagai argumen akan menyebabkan GLUT mengabaikan normal keys. Fungsi yang digunakan sebagai argumen dalam glutKeyboardFunc memiliki tiga argumen. Argumen pertama menyatakan kode ASCII dari key yang ditekan, sedangkan dua argumen lainnya menyatakan posisi mouse ketika key ditekan. Posisi mouse ini relatif terhadap sudut kiri atas dari jendela.

Fungsi yang kedua adalah glutSpecialFunc, yaitu fungsi yang digunakan untuk memberitahu sistem window fungsi mana yang akan memproses special key events. Berikut ini adalah syntaxnya.

void glutSpecialFunc(void (*func) (int key, int x, int y));

Dimana func adalah nama fungsi yang memproses special keyboard events. Melewatkan nilai NULL pada argumen akan menyebabkan GLUT mengabaikan special keys. GLUT_KEY_* merupakan konstanta standar dalam glut.h. Berikut ini adalah daftar seluruh konstantanya :


Tidak ada komentar:

Posting Komentar