mgdw4 online camp #2.1 perbaikan fungsi getinput

7
Mobile Game Developer War 4: Online Camp MGDW4 Online Camp #2.1 Game input bagian lanjut

Upload: agate-studio

Post on 09-Jun-2015

586 views

Category:

Education


0 download

DESCRIPTION

Update untuk materi #2 Online Camp untuk menangani error pada deteksi input.

TRANSCRIPT

Page 1: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

Mobile Game Developer War 4: Online Camp

MGDW4 Online Camp #2.1

Game input bagian lanjut

Page 2: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

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

Page 3: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

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

Page 4: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

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).

Page 5: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

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

Page 6: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

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

Page 7: MGDW4 Online Camp #2.1 Perbaikan fungsi getInput

Mobile Game Developer War 4: Online Camp

Tips

Sesuaikan kode input dengan game yang kamu buat.