Olaylar (Events) oluşturmak
Olaylar, belirli koşulların (conditions) sağlanıp sağlanmadığı test ederek çalışır. Koşullar sağlanmışsa, hareketler ( actions, fiiller, eylemler) ortaya çıkar.
(Çevirenin Notu: Oyun tasarımlarında bilindiği gibi objeler ve oyunun çevreleyen dünya belirli koşullarda belirli hareketleri yapmak üzere programlanır ve tanımlanır. Örnek vermek gerekirse “Eğer A objesi B’ye dokunursa, B objesi yok olsun” gibi. Burada “Eğer A objesi B’ye dokunursa” ifadesi bir koşulu içermektedir ve Construct 2’de bu olaya conditions denmektedir. Bu koşul sağlandığında yapılacak hareket, eylem ise “B objesi yok olsun” ifadesidir. CS2’de bu actions olarak tanımlanmıştır. Olay penceresinde önce koşulları tanımlarız hemen yanında da o koşul sağlandığında ortaya konulacak hareketi gireriz. CS2’de “Eğer A objesi B’ye dokunursa, B objesi yok olsun” cümlesinin tamamına event yani olay denmektedir. Yukarıdaki cümle bir olay, eventtir. Bir eventin koşulu ve bu koşul sağlandı mı ortaya çıkan hareketi (eylem, fiil) vardır. Böylece bu tür koşullar ve fiiller tanımlandıkça oyun örgüsü yavaş yavaş kurulur.)
Bu örneğimizde, PlayerBox objesinin üzerinde oyuncunun konumlanmasını istemekteyiz. Bunu yerine getirmek için, onun her anda (tick) veya oyunun karelerinde pozisyonunun revize edilmesini sağlamalıyız.
Olay sekmesi görünümünde (Event Sheet View) boşluğa çift tıklayarak yeni bir olay (event) oluşturun.
System objesine Çift-tıklayın, Every tick koşulunu içermektedir.
(Çevirenin notu: Every tick, her saniye demektir ve her saniyede olduğunda manasına gelir. Bu CS2’de kullanılan önemli bir koşuldur. Oyun boyunca sürekli olarak kalmasını istediğimiz hareketlerin koşulunu Every tick olarak belirleriz. Özetlemeye çalışırsak “Her saniye geçtiğinde, ….. ‘yı yap” gibi bir anlamı olan bir olayımızı (event) tanımlamış oluruz. Bilgisayar ifadeyi böyle anlar ve bizim için objeleri tanımladığımız bu cümlelere göre hareket ettirir .)
Şimdi her saniyede hareketi çalıştıran boş bir olayımız oldu.
Add action a tıklayın.
Player’ı konumlandırmak istiyoruz, bunun için Player’a çift tıklayın.
Set position to another object’e çift tıklayın (Diğer objeye göre pozisyon al). Object için, <click to choose>’u tıklayın ve PlayerBox’ı seçin. Image point 0 olarak bırakın ( bu orijin manasına gelir). Done’a tıklayın. Bitmiş olan olay şu şekilde görülmelidir:
İşlerin şöyle olmasını ümit ediyoruz: PlayerBox objesinin hareketine bağlı olarak, her zaman oyuncunun bu objenin üzerinde konumlanmasını bekliyoruz.
Başlık çubuğunda Yeşil ‘Play’ okuna tıklayarak oyunu çalıştırın.
Move and jump with the arrow keys. You've got your first basic platformer up and running!
Ok tuşlarıyla hareket edin ve zıplayın. Yukarı ve aşağı çalışan ilk platform oyununuzu oluşturdunuz!
Sorunlar
Oyunu çalıştırıp gezindiğinizde bazı sorunları fark edeceksiniz:
1. Oyuncunun yüzünün sola dönmediğini göreceksiniz.
2. Başka animasyonun olmadığını göreceksiniz.
Bunları ele alalım! İlk önce, birinci problem: oyuncuyu sola ve sağa döner hale getirelim.
İlk olarak, üstteki sekmelerden Layout görünümüne geri dönelim. Çalışma sayfasına yeni bir obje eklemek için çift tıklayalım ve Keyboard (Klavye) objesini ekleyelim. Bir giriş (input) objesi olduğu için hiçbiryere yerleştirmenize gerek yok – tüm proje boyunca klavye girdilerininin kullanılmasını mümkün kılmaktadır.
Oyuncu objesinin sola bakan yeni bir animasyonunu eklemek yerine, daha basit olarak Construct 2’nin Set mirrored (Ayna yansımasını kur) hareketini kullanacağız, bu özellik otomatik olarak objenin görünümünü sağdan sola olacak şekilde görüntüler.
Event Sheet, olay sekmesine, geri dönün. Yeni bir olay yapacağız, koşulu “On left arrow key pressed” (sol tuşuna basıldığı zaman) ve hareketi “Set player mirrored” ( Oyuncunun ayna görüntüsünü yansıt) olarak belirleyeceğiz.
Yeni bir olay yaratmak için boşluğa çift tıklayın veya Add event (olay ekle) linkine tıklayın. Klavye objesine çift tıklayın çünkü bu On key pressed ( Tuşa basıldığında) koşulunu içermektedir.
Tüm tuş objelerinin koşullarının listesi görünür. On key pressed olayına çift tıklayın.
Construct 2 hangi tuşun kullanılacağını bilmek ister. <click to choose> butonuna tıklayın, left arrow key (sol ok tuşu) tıklayın ve sonra Ok a basın. Done’ı tıklayın.
Şimdi hareketimizi eklemek istiyoruz: “Set player mirrored”. Daha önce yaptıklarımız gibi, önce objeyi seçmelisiniz sonra koşulun veya hareketin tipini belirlemelisiniz, sonra parametlereleri girmelisiniz. Olayın sağındaki Add action linkine tıklayın. ( Yanlışlıkla Add event’e tıklamamaya dikkat edin!)
Player ( Oyuncuya) çift tıklayın.
Set mirrored a çift tıklayın.
Durumu Mirrored olarak bırakın ve Done’a tıklayın.
Aşağıdaki gibi olmalı:
Şimdi yeni bir olay eklemek için – boşluğa çift tıklayın, veya Add event linkine tıklayın.
Bu kez de yaptıklarımızı tekrarlayacağız ancak olayı kurarken On right arrow key pressed yapacağız ve playerı Not mirrores seçeceğiz. Şu şekilde sonlandırmış olmalısınız:
Şimdi sola bastığımız zaman oyuncunun görüntüsü yansıyacak ve sağa bastığımız zaman tekrar düzelecektir- görüntünün baktığı taraf. Oyunu çalıştırın ve deneyip görün!