Anda membutuhkan dua boolean, isColidingWithGround
danisJumping
Saat pengguna menekan tombol lompat, jika isColidingWithGround
ada true
, dan isJumping
salah, maka panggil jump()
yang ditetapkan isJumping
ketrue
Jika y
kecepatan pemain positif maka isJumping
sama denganfalse
Jika pemain bertabrakan dengan tanah, maka isColidingWithGround sama dengan true
, kalau tidak isColidingWithGround
sama dengan false
.
Kadang-kadang pemain masih bersentuhan dengan tanah setelah dorongan lompatan awal, dan saya menemukan bahwa dengan menggunakan dua bendera ini, itu mencegah lompatan () dipanggil beberapa kali ketika lompatan ditekan.