Chapter 4 : CheckCollisions()
Nah, untuk chapter ini silahkan buka kembali Bola.java dan raket.java, karena kita akan membahas bagaimana cara agar terjadi collision antara bola dan raket, Langsung sajaPada kode tersebut terdapat method "public boolean collision()", method inilah yang akan kita gunakan untuk mendeteksi collision yang terjadi
Sintaks code dibawah ini terdapat di method collision :
return game.pukul.getBatas().intersects(getBatasBola());
Catatan :
" game" merupakan objek dari tennis reverse, begitu juga dengan "pukul" merupakan objek dari raket. Oleh karena itu cara mengaksesnya "game.pukul.METHOD_YANG_DIPANGGIL".
Sebelumnya kita telah membuat method "getBatas()" pada raket.java, method tersebut sudah kita bahas sebelumnya. Sintaks code diatas dapat diartikan bahwa program akan memanggil method "getBatas()" yang berfungsi untuk mengetahui ukuran dari raket itu sendiri dan apabila memotong (intersects) "getBatasBola()" (batas dari bola) maka kondisi method tersebut bernilai true, itulah mengapa method tersebut kita beri tipe boolean.
Selanjutnya adalah memanggil method tersebut ke dalam method "gerakBola()", mengapa harus di method "gerakBola()", karena yang menjadi patokan kita adalah tubrukan bola maka method tersebut diletakkan di Bola, ini sintaks kodenya :
if(collision()){ d_y = -1; y = game.pukul.getBatasy() - D_BOLA; score += 1; } Perhatikan kode diatas, jika pada saat method "collision()" bernilai true maka perpindahan d_y = -1 mengapa ?, dikarenakan bola memantul keatas sehingga perpindahannya berkurang 1 pixel per frame. Nah sekarang untuk posisi y-nya, kita harus mengetahui letak raket, makanya kita memanggil method "getBatasy()", raket terletak pada posisi y = 330 px, oleh karena itu pada saat terjadi collision posisi y bola sekarang adalah 330 dikurangkan Diameter bola yaitu 30;
Subscribe to:
Post Comments
(
Atom
)

No comments :
Post a Comment