Sayfalar

8 Mayıs 2020 Cuma

Aç Köpek Balığı

Merhaba. "Köpek Balığı ile Tanışma" etkinliğimizde sahnemize bir adet köpek balığı eklemiştik ve fare imlecini takip etmesini sağlamıştık. Etkinliğin sonunda çözmeniz gereken iki adet soru vardı. Bu etkinliğimizde bu soruları çözelim.

Çözmemiz gereken ilk problem köpek balığının ters yüzmesini engellemekti. Hatırlarsanız balık için de aynı şeyi yapmıştık. Hareket başlığı altında yer alan "Dönüş stili" kodu ile bu sorunu çözebiliriz. Kuklalara ait 3 adet dönüş stili mevcut. Bunlar sağ-sol, döndürme ve tüm yönlere seçenekleri. Sağ-sol seçeneğini işaretlediğimizde kukla yönü sağa veya sola dönebilir sadece. Döndürme seçeneğinde ise kukla yönü değişmiş olsa bile ekrandaki görseli asla değişmez. Tüm yönlere seçeneğinde ise kukla yönü ne ise kukla o yöne doğru dönecektir. Aradaki farkları daha net görmek için bir kukla ekleyerek deneyebilirsiniz. 

İkinci sorunumuz ise köpek balığının ağzını sürekli açıp kapatmasını sağlamaktı. Bunu yapabilmek için kuklaya ait kostümlerden faydalanacağız. Kuklamızın kostümlerine baktığımızda 3 adet kostüme sahip. Bizim işimize yarayacak olansa ilk iki kostüm. Bu durumda iki farklı çözüm var elimizde. Üçüncü kostümü silmek veya silmemek :). Ben oyun sonunda üçüncü kostüm işimize yarayabilir düşüncesi ile silmeden yazmam gereken kodları yazacağım. Burada tercih sizin. 

Shark 2 isimli kuklamızın "shark2-a" ve "shark2-b" isimli kostümleri bizim işimize yarayacak kostümler. Bu kostümlerin sırasıyla değişmesi sonucunda köpek balığı sürekli ağzını açıp kapatacak. Böylece köpek balığımız avlanmak istiyormuş gibi bir görüntüye sahip olacak. Bunu görünüm başlığı altında yer alan "Kılığına geç" kodu ile yapacağız.

Kılığına geç kodunu yukarıdaki şekli ile kullanırsak çok hızlı bir şekilde kılık değişimi olacağı için istediğimiz sonucu vermeyecektir. Bu yüzden kılık değişimlerinin arasında bir bekleme süresi olmalıdır. "1 saniye bekle" kodunu kullanarak bu sorunu çözeceğiz. Kılık değişiminin sürekli olması içinse yazdığımız kodları sürekli tekrarla kodunun içerisine alacağız. 

"1 saniye bekle" kodu üzerinde küçük bir değişiklik yaptım. Köpek balığının daha hızlı ağzını açık kapaması için değeri 0.2 olarak belirledim. Bu sayede daha aç görünecektir. :) Dikkat ettiyseniz her kılık değişiminin ardına da bekleme kodu ekledim. Sonda eklediğim kodu gereksiz yere yazdığımızı düşünüyorsanız ya da "Buna ne gerek vardı?" diyorsanız sonraki bekleme kodunu silerek aradaki farkı gözlemleyiniz. 

Şu anda bayrak butonuna tıkladığımızda balık(fish kuklası) ekranda yüzüyor, köpek balığı(shark 2 kuklası) fare imlecini takip ediyor ancak kostüm değiştirme işini gerçekleştiremiyor. Çünkü kostüm değişikliği ile ilgili oluşturduğumuz kodların başlamasını sağlayacak herhangi bir kod yok. Bir kodun çalışması için kodlama alanına sürüklenmiş olması yetmez. Ne zaman çalışacağını ona söylememiz gerekir. Bunu ise olaylar başlığı altında bulunan kodlar ile yapabiliriz. Burada bulunan kodları inceleyecek olursanız, bir kuklaya tıklanması, bayrak butonuna tıklanması, dekor değişikliği, bir tuşa basılması, haber gelmesi, ses şiddetinin değeri gibi seçenekler mevcut. Buradan uygulamanıza uygun kodu kodlama alanına sürükleyelim. Bizim oluşturduğumuz uygulamada her şey bayrak butonuna basıldığında başlıyor. Dolayısıyla kılık değişimi de bayrak butonu ile başlamalı. Ekrana sürükleyerek kodumuzun çalışmasını sağlayalım. 

Köpek balığımızın kodları yukarıdaki gibi ise bayrak butonuna tıklandığında fare imlecini takip eden 0.2 saniye aralıklarla ağzını açıp kapayan ve ters yüzmeyen bir kuklaya sahipsiniz demektir. Ayrıca ekranda rastgele yüzen bir adet balığımız da var. Buradan bir oyun çıkartırız gibi geliyor bana. Bu zamana kadar yaptıklarımız ile nasıl bir oyun tasarımı yapabiliriz? Oyunumuzda neler olmasını istersiniz? Kuralları ne olmalı? Hangi durumlarda kazanmalıyız? Hangi durumlarda kaybetmeliyiz? gibi soruları kendinize sorarak cevaplamalı ve not almalısınız. Bir sonraki dersimizde görüşmek üzere :)


Hiç yorum yok:

Yorum Gönder