If you're seeing this message, it means we're having trouble loading external resources on our website.

Bağlandığınız bilgisayar bir web filtresi kullanıyorsa, *.kastatic.org ve *.kasandbox.org adreslerinin engellerini kaldırmayı unutmayın.

Ana içerik

Kunduz karakteri

Şimdi, karakterimizi yaparak başlayalım, zıplayan kunduz. Kunduz karakterimizi tanımlamak için,bu derste konu edilen nesne-odaklı tasarımı kullanacağız.
Bir oyun karakterini oluştururken, hangi özelliklere ve davranışlara sahip olması gerektiğini düşünmeliyiz. Örneğin, kunduzumuz x ve y konumunu, ve kaç tane çubuğa sahip olduğunu kaydetmeli. Ayrıca, iki davranışa ihtiyacı var: zıplama, bu biraz sıçramasını sağlayacak, ve düşme, bu da biraz düşmesini sağlayacak.
Bir nesne olarak, şunun gibi gözükebilir:
Bununla birlikte, bu program değişik davranışları kontrol etmede pek başarılı değildir- hareketli olmadığı için, onu sadece bir durumda görebiliyoruz. Şimdi bir draw fonksiyonu ekleyelim, böylece kunduza kullanıcı etkileşimine göre farklı şeyler yapmasını söyleyebileceğiz. Bu oyun için, kullanıcı boşluk(space) tuşuna her bastığında, kunduzun zıplamasını istiyoruz. Bunu oldukça kolay şekilde uygulayabiliriz:
draw = function() {
    background(255, 255, 255);
    if (keyIsPressed && keyCode === 0) {
        beaver.hop();
    } else {
        beaver.fall();
    }
    beaver.draw();
};
Bu çok etkili bir koddur, ama bunu çalıştırırsak, kunduzun tuvalin dışına bir daha dönmemek üzere zıplamasını önlemek için sürekli ara çubuğuna basmamız gerekir. Kunduzu ekranda tutmak için y değerlerini mantıklı bir değerde kısıtlamamız gerekir. Karakterleri "oyun dünyası"nın içinde tutmak yaygın bir uygulamadır. Draw fonksiyonunda constrain kullanıp uygun bir min ve maks geçirerek bunu yapabiliriz:
 this.y = constrain(this.y, 0, height-50);
İşte klavye kontrollü zıplayan ve düşen kunduzlu programımız. Biraz oynayın!

Tartışmaya katılmak ister misiniz?

Henüz gönderi yok.
İngilizce biliyor musunuz? Khan Academy'nin İngilizce sitesinde neler olduğunu görmek için buraya tıklayın.