Setelah kalian menyelesaikan Tutorial Greenfoot part 2 sebelumnya, Kali ini kita akan belajar bagaimana cara menggerakkan atau mengendalikan Objek Kumbang. Hal penting yang sangat perlu kalian ketahui adalah Mendefinisikan tombol-tombol yang akan kita digunakan.
Di dalam Aplikasi greenfoot terdapat method bernama Greenfoot.isKeyDown(“tombol”);. Method tersebut bisa kita manfaatkan untuk menggerakkan Objek menggunakan keyboard. Agar lebih jelas, Yuk kita modifikasi code program di part sebelumnya. Jika anda belum membacanya silahkan baca Tutorial Greenfoot Part 2 – Membuat Skenario
Mengendalikan Objek dengan Menggunakan Keyboard
Amati coding berikut ini
import greenfoot.*; // (World, Actor) /** * Write a description of class Kumbang here. * * @author semarsoft.com * @version 1 */ public class Kumbang extends Actor { /** * Act - do whatever the Kumbang wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { //Berjalan(); Kendali(); } public void Berjalan() { move(2); turn(10); } public void Kendali() { if (Greenfoot.isKeyDown("right")) { turn(10); } else if (Greenfoot.isKeyDown("up")) { move(1); } else if (Greenfoot.isKeyDown("left")) { turn(-10); } else if (Greenfoot.isKeyDown("down")) { move(-1); } else if (Greenfoot.isKeyDown("space")) { move(10); } } public void BelokKiri() { turn(-90); } public void BelokKanan() { turn(90); } public void Maju() { move(5); } }
Class Kumbang yang kita modifikasi dari part sebelumnya memiliki sebuah method baru bernama Kendali() yang dipanggil pada method act(). Pada method Kendali(), kita sudah mendeklarasikan lima buah input yaitu ketika pengguna menekan arah panah Kanan, atas, kiri, atas dan spasi. Jika kalian ini mengetahui Daftar tombol-tombol lain yang bisa gunakan pada greenfoot dapat kalian pelajari pada menu Help >> Greenfoot Class Documentation.
Mengendalikan Objek dengan Menggunakan Keyboard
Selain Kendali melalui keyboard Greenfoot juga sudah menyediakan deteksi mouse atau mengendalikan melalui mouse pada sebuah objek. Jika Kalian menginginkan objek Kumbang bergerak pada saat Anda menekan klik pada Objek Kumbang tersebut. Kalian dapat melakukan deteksi mouse klik terlebih dahulu dengan method Greenfoot.mouseClicked(this). Sehingga ketika Objek Kumbag diklik, Maka Objek tersebut agar bergerak maju
Perhatikan Penggunaan Greenfoot.mouseClicked(this) pada coding berikut ini
import greenfoot.*; // (World, Actor) /** * Write a description of class Kumbang here. * * @author semarsoft.com * @version 1 */ public class Kumbang extends Actor { /** * Act - do whatever the Kumbang wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { //Berjalan(); Kendali(); } public void Berjalan() { move(2); turn(10); } public void Kendali() { if (Greenfoot.isKeyDown("right")) { turn(10); } else if (Greenfoot.isKeyDown("up")) { move(1); } else if (Greenfoot.isKeyDown("left")) { turn(-10); } else if (Greenfoot.isKeyDown("down")) { move(-1); } else if (Greenfoot.isKeyDown("space")) { move(10); } if (Greenfoot.mouseClicked(this)) { move(20); } } public void BelokKiri() { turn(-90); } public void BelokKanan() { turn(90); } public void Maju() { move(5); } }
Atau jika kalian ingin menggerakkan dengan cara melakukan DRAG and DROP atau menggeser-geser objek Kumbang tersebut. Kalian bisa menggunakan method Greenfoot.mouseDragged(this). Tambahkan coding di bawah ini setelah Greenfoot.mouseClicked
if(Greenfoot.mouseDragged(this)) { //digunakan untuk menampung posisi X dan Y Mouse MouseInfo mouse = Greenfoot.getMouseInfo(); //baris di bawah ini digunakan untuk meletakkan objek kumbang pada posisi X dan Y mouse setLocation(mouse.getX(), mouse.getY()); }
Uji Nyali
Setelah kalian mempelajari cara menggerakan objek pada Greenfoot, sekarang coba modifikasi code tersebut agar di Canvas muncul Posisi X dan Posisi Y Kumbang ketika Objek Kumbang di Drag.