Selasa, 02 Juni 2015

Membuat Actor/Karakter Bisa Melompat di Greenfoot

Kembali lagi dalam tutorial Greenfoot, kali ini saya ingin membagikan tutorial cara membuat acktor agar bisa melompat dan jatuh pada sebuah class world. Tutorial ini saya pelajari dari youtube dan saya hanya ingin membagikan tutorialnya dalam postingan di blog saya ini. Kalau begitu kita langsung saja pada proses pembuatannya di bawah ini.

Hal pertama yang harus di lakukan tentunyan membuat scenario baru dengan cara buka aplikasi Greenfoot klik scenario pilih new masukkan nama sesuai yang kalian inginkan. Buatlah class world baru dengan cara klik kanan world pilih new subclass, kemudian akan tampil kotak dialog dan isi nama class world sesuai kehendak kalian, pilih gambar yang akan di jadikan latar belakang, klik ok. Lihat gambar

klik 2X pada class world bg (nama class world) dan masukkan kode di bawah
import greenfoot.*;

/**
 * Write a description of class bg here.
 * 
 * @author Nunut <kurnia8998@gmail.com>
 * @version 1.0.0
 */
public class bg extends World
{

    /**
     * Constructor for objects of class bg.
     * 
     */
    public bg()
    {    
        super(700, 600, 1); 
    }
}
kemudian tekan Ctrl+K untuk compile kode di atas.

Klik 2X pada class bola dan masukkan kode di bawah.

import greenfoot.*;

/**
 * Write a description of class bola here.
 * 
 * @author Nunut <kurnia8998@gmail.com> 
 * @version 1.0.0
 */
public class bola extends Actor
{
    private boolean jatuh;
    private int y=3;
    private int yspeed=1;
    private int up=18;
    /**
     * Act - do whatever the bola wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        move();
        cek();
    }    
    
    public void move()
    {
        if(Greenfoot.isKeyDown("left"))
        {
            turn(-15);
            setLocation(getX()-8,getY());
        }
        if(Greenfoot.isKeyDown("right"))
        {
            turn(15);
            setLocation(getX()+8,getY());
        }
        if(Greenfoot.isKeyDown("space"))
        {
            loncat();
        }
    }
    
    public void loncat()
    {
        if(jatuh==false)
        {
            y=-up;
            bawah();
        }
    }
    
    public void bawah()
    {
        jatuh=true;
        setLocation(getX(),getY()+y);
        y=y+yspeed;
    }
    
    public boolean papan()
    {
        jatuh=false;
        Actor pijakan=getOneObjectAtOffset(0,getImage().getHeight()/2-1,papan.class);
        return pijakan!=null;
    }

    public boolean tanah()
    {
        jatuh=false;
        Actor tanah=getOneObjectAtOffset(0,getImage().getHeight()/2-20,tanah.class);
        return tanah!=null;
    }

    public void cek()
    {
        if(tanah())
        {
            y=0;
        }
        else if(papan())
        {
            y=0;
        }
        else
        {
            bawah();
        }
    }
}
Kemudian tekan Ctrl+K untuk compile, untuk menjalankannya kalian harus menempatkan class-class actor pada class world, agar kelihatan rapi lakukan drag actor tanah terlebih dahulu kemudian actor papan dan terakhir actor bola lihat gambar di bawah.

Download project-nya di sini.

1 komentar: