Integrasi Kontrol Pengguna
Penggunaan Keyboard untuk Mengendalikan Objek
Setelah Anda menyelesaikan quiz pada tahap sebelumnya, mari kita menambahkan beberapa kode program agar objek Wombat dapat kita kendalikan. Hal pertama yang perlu Anda ketahui adalah pendefinisian tombol-tombol yang akan digunakan dengan menggunakan method Greenfoot.isKeyDown("tombol");
. Untuk lebih jelasnya, mari kita memodifikasi class Wombat.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
*
* @author Robby Tan
* @version 1.0
*/
public class Wombat extends Actor
{
/**
* Act - do whatever the Wombat wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act() {
detectInput();
}
public void move() {
move(1);
}
public void turnLeft() {
turn(-90);
}
public void detectInput() {
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);
}
}
}
Class Wombat yang dimodifikasi dari tahap sebelumnya memiliki sebuah method yang baru yaitu detectInput()
yang dipanggil pada method act()
. Pada method detectInput()
, kita mendeklarasikan lima buah input yaitu ketika pengguna menekan arah panah atas, bawah, kiri, kanan, dan spasi. Daftar tombol-tombol lain yang dapat dideteksi dengan menggunakan Greenfoot.isKeyDown dapat dilihat pada menu Help >> Greenfoot Class Documentation.
Deteksi Mouse pada Objek
Greenfoot juga telah menyediakan deteksi mouse (tetikus) pada sebuah objek. Jika Anda menginginkan objek wombat bergerak pada saat Anda meng-klik wombat tersebut, Anda dapat melakukan deteksi terlebih dahulu dengan Greenfoot.mouseClicked(this).
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Wombat here.
*
* @author Robby Tan
* @version 1.0
*/
public class Wombat extends Actor
{
/**
* Act - do whatever the Wombat wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act() {
detectInput();
}
public void move() {
move(1);
}
public void turnLeft() {
turn(-90);
}
public void detectInput() {
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(5);
}
}
}