import greenfoot.*;
public class Oyuncu extends Actor
{
// 1. bolum
private static final int ivme = 1;
private int baslangic_hizi = 0;
public Oyuncu()
{
setImage("egg.png");
}
// 2. bolum
public void act()
{
kontroller();
if(maksimumCevre())
{
baslangic_hizi = 0;
}
else
{
baslangic_hizi = baslangic_hizi+ivme;
setLocation(getX(),getY()+baslangic_hizi);
}
}
// 3.bolum
private boolean maksimumCevre()
{
if(getY() < 1 || getY() >= getWorld().getHeight() - 30)
{
return true;
}
else
{
return false;
}
}
private void kontroller()
{
if(Greenfoot.isKeyDown("left") || Greenfoot.isKeyDown("a"))
{
setImage("eggsol.png");
setLocation(getX()-3,getY());
}
if(Greenfoot.isKeyDown("right") || Greenfoot.isKeyDown("d"))
{
setImage("egg.png");
setLocation(getX()+3,getY());
}
if(Greenfoot.isKeyDown("up") || Greenfoot.isKeyDown("w"))
{
setLocation(getX(),getY()-14);
}
}
}
Birinci bölüm: Bu bölümde değişkenlerimizi tanımladık ve Oyuncu sınıfının resmini egg.png olarak ayarladık.
İkinci bölüm: Burada maksimumCevre metodu ile y ekseninin sonuna gelip gelmediğimizi kontrol ediyoruz. Y ekseninin sonuna geldiysek baslangic_hizi değişkenini 0 yapıyor. Y eksenine gelmediysek yerçekimi devam ediyor.
Üçüncü bölüm: Bu bölümde ise maksimumCevre metodunu açıklamak istiyorum. Öncelikle bu bir boolean metoddur. Eğer y koordinatlarımız "dünyanın" uzunluğundan büyükse true değer gönderir, değilse false değer gönderir.
Anlatacaklarım bu kadar kolay gelsin.
Hiç yorum yok:
Yorum Gönder