mgdw4 online camp #2.1 perbaikan fungsi getinput
DESCRIPTION
Update untuk materi #2 Online Camp untuk menangani error pada deteksi input.TRANSCRIPT
Mobile Game Developer War 4: Online Camp
MGDW4 Online Camp #2.1
Game input bagian lanjut
Mobile Game Developer War 4: Online Camp
“Catatan materi lalu: error pada slide 11 (Game Input) akan masih terjadi, kita akan perbaiki di Materi berikutnya.”
Error pada game input• Masih ingat error dari
materi sebelumnya ini?• Hal ini terjadi karena kita
tidak menyimpan informasi status tombol– Untuk membedakan
button press, hold, atau release
Mobile Game Developer War 4: Online Camp
Update getInput()
1. Buat variabel untuk menyimpan status tombol kiri, atas, dan kanan
2. Update fungsi getInput agar memeriksa status tombol sebelum melakukan aksi
– Aksi akan dapat dilakukan lagi setelah tombol yang bersangkutan dilepas
– Error sebelumnya yang terjadi karena eksekusi yang terlalu cepat akan tertangani dengan update ini
boolean gameover; boolean sudahJawab; boolean leftButtonHold, upButtonHold, rightButtonHold;
private void getInput(){ int keystate = getKeyStates(); if(!sudahJawab){ if (keystate == LEFT_PRESSED){ if(!leftButtonHold){ pilihanPemain =0; sudahJawab=true; leftButtonHold=true; } }else{ leftButtonHold = false; } if(keystate == UP_PRESSED){ if(!upButtonHold){ pilihanPemain =1; sudahJawab=true; upButtonHold = true; } }else { upButtonHold=false; } if (keystate == RIGHT_PRESSED ){ if(!rightButtonHold){ pilihanPemain =2; sudahJawab=true; rightButtonHold=true; } }else{ rightButtonHold=false; } }}
1
2
Mobile Game Developer War 4: Online Camp
Jenis Input dalam game• Ada dua jenis game
input yang biasa digunakan dalam game– Single press
• Respon input hanya sekali setiap menekan tombol
• Aksi yang sama dapat dilakukan setelah tombol dilepas
– Continuous press: • Respon input dilakukan
terus menerus selama tombol ditekan
Contoh single press game, Snake.
Contoh continuous press game, Asphalt4
(racing game).
Mobile Game Developer War 4: Online Camp
Single Press• Single press
– Respon input hanya sekali setiap menekan tombol
– Aksi yang sama dapat dilakukan setelah tombol dilepas
• Jika salah implementasi:– Respon input dilakukan lebih dari
sekali– Pada kasus Snake, setiap
berbelok pemain akan langsung kalah karena menabrak diri sendiri
Mobile Game Developer War 4: Online Camp
Continuous press• Continuous press:
– Respon input dilakukan terus menerus selama tombol ditekan
– Jika salah implementasi:• Pada kasus racing game,
pemain harus menekan tombol berkali-kali untuk berbelok atau menekan gas
Mobile Game Developer War 4: Online Camp
Tips
Sesuaikan kode input dengan game yang kamu buat.