II-SHOT-GUN OYUNLAR
Yine en basit şekliyle bir shut gun oyun hazırlıyoruz. Süre sınırlaması, görsel efektler, backround, yön değiştirme, ses efectleri, müzikler...... gibi detayların hiçbirini kullanmayacağım siz ekleyebilirsiniz. Amacımız basit bir şekilde karşılıklı etkileşimi oluşturabilmek. Çünkü daha sonra en komplike oyunlarda bile bu özellikten yararlanacağız.
Senaryomuz şöyle; üzerimize doğru gelen bir asker amca var, bizim de 3 hakkımız var. Her dört adımda bir bize ateş ediyor. Biz o ateş etmeden önce ateş edersek kazanıyoruz. Aksi halde bir hakkımız gidiyor. 3 hak sonunda oyunu kaybediyoruz.
Sahnemizde (scene), boş 2 layer açıyoruz. Aslında oyunun bütün aksiyonu 1 frame de gerçekleşcek. Diger iki frame bitimler için. Bu nedenle ilk layerımızın ilk frame’ine
stop ();
komutunu yerleştiriyoruz. Hemen yanına F6 ya basarak bir keyframe açıyoruz ve ona da stop diyoruz. Onun yanına da boş bir frame açıp stop diyoruz. Yani layer1 de üç tane yan yana boş ve stop actionu verilmiş frame’imiz olacak. (Resim 1)

Bu layerda oluştuduğumuz ikinci frame’e geçip “Kazandınız” mesajı yazıyoruz. (Resim2)

Ben “Budur” dedim yani “vurdun, helal olsun.” anlamında..
Yine bu frame’e tekrar oynanmasına olanak veren “yeniden” düğmesini de ekliyoruz. basit bir düğme ve scripti
on (release) {
goandplay(1);
}
frame1 de mouse’mizi silah şekline çevireceğiz. Bu ikinci frame’in üstünde bulunan boş layera geçip, keyframe (F6) açıyor ve bir expression (açıklama) actionu yazıyoruz ki tekrar mouse görünsün ve düğmelere basabilsin.
Mouse.show();
Üçüncü boş frame e gidip oraya da “Kaybettiniz”mesajını veriyoruz. Yine “yeniden” düğmesini ekliyoruz. üstteki layera geçip keyframe oluşturarak yine actionumuzu ekliyoruz;
Mouse.show();

Önemli olan oyun bitiminde bu frame’lere atlatabilmek. Çünkü bunları daha sonra oyun geçişlerinde ve bölüm atlamalarında kullanacağız. Ama şu an oyunu basitten alalım ve;
Gelelim esas frame’imize. Oyunun tamamı bu tek frame de gerçekleşecek demiştik. Burda bize 4 şey gerekiyor.
1- silahımız
2- Hak tablosu
3- Hedef
4- Hedefi vuracağımız alanı belirleyecek düğme
Ben burda vakitten kazanmak için kullanacağım silahı artı (+) şeklinde yapıyorum ve new sembol (F8) açıp, silah adını vererek “movie clip” te + yı oluşturuyorum. Bu sembolu mouse yapmak için scene’e taşıyarak üzerine tıklıyorum ve şu actionu ekliyorum (Resim 4)

onClipEvent (enterFrame) {
Mouse.hide();
}
onClipEvent (load) {
startDrag ("", true);
}
Bu action mouse’mizi gizleyerek yerine hazırladığımız silahı kullanmamıza ve sürükleyebilmemize (drag) yarıyor. Drag-Drop oyunlarda yaptığımız işlemin mouse a uygulanışı, bir benzeri diyebiliriz
Ardından ikinci bir new sembol (F8) / movie clip oluşturuyorum. Ve dikkat !!! instance(command+I) açılan pencerede Name yazan boşluğa Hak adını veriyorum. (Resim 5)

Biz vuruldukça bir sonraki frame’e geçiş olacak ve bu frame de kalacak. Bun u sağlamak için, movie clip’te iki layer açıyorum, birine hak yazısı ve zeminini, koyuyorum. 4. frame’e kadar F5 ile frame”i uzatıyorum.. üsteki layera 4 adet keyframe açıp ilk 3’üne stop actionunu ekliyorum ve birincide 3, ikincide 2, üçüncüde 1 kalacak şekilde hakları gösteriyorum.
Burada önemli olan 4. frame. Bu frame’de ana sahnemize yönlendiriyor ve oyunu bitiriyoruz çünkü. Yani haklar bitti, kaybettik ana sahnede 3. frame’e git ve oynat. 4. frame e tıklayarak şu actionscripti yazıyoruz;
tellTarget (“_parent”) {
goandplay(3);
}
ve movie Clip şeklinde oluşturduğumuz bu hak tablosunu sahnemizde yerine koyuyoruz. (Resim 6)

tellTarget komutunu oyun hazırlanmasında çok sık kullanacağız. tellTarget ile ilgili yazılacak çok şey var aslında ama ben yine karışıklık olmasın diye daha sonraya saklıyorum bunu da.
Sıra geldi hedefimize. Yine new sembol/movie clip açıyoruz. ilk layera hedefimizi yerleştiriyoruz. Ben 18 frame yürüyen, sonraki 12 framede ateş eden, ve sonraki 20 frame de ölen bir asker amca kullanıyorum. Yani toplam 50 frame lik bir animasyon. (Kendi özgün karakterlerinizi yaratana kadar, bu tip animated gif leri internette bolca bulabilirsiniz.)
ilk layer’a bu animasyonu import ediyorum. üstüne ikinci bir layer açıyorum. Ateş etti. Beni vurması için en az 1 saniye geçsin. 19. frame değil, 26. frame’e F6-Keyframe açıyorum ve buraya şu kodu yazıyorum;(Resim 7)

tellTarget ("_parent.Hak") {
nextFrame ();
}
Yani vuruldun, hak movie clibine git ve bir sonraki frame i oynat.
Ardından hedefimizin ölmeye başlayacağı frameden önceki frame’e (bende 30uncu frame) giderek üstündeki layera keyframe açıyorum ve
gotoAndPlay (1);
actionunu ekliyorum. Oyun böylelikle devam ediyor, karakterimiz biz vurmadan ölmüyor.
Bu movie Clipteki son 5 frame’e gidip 2. layerda bir keyframe açıyorum ve
tellTarget ("_parent.") {
gotoAndPlay (2);
}
yani hedefi vurdun, ana sahnede ilk hazırladığımız kutlama mesajının olduğu ikinci frame’e git ve oynat.
Karışık olmaması açısından bir not düşeyim. Tel Target ile asıl sahnemiz ile, bu sahne içinde kullandığımız movie clip frameleri arasında yönlendirme yapıyoruz.
Ateş etti vuruldum, Hak a git ve bir sonraki frame i oynat.. Ben vurdum, movie clip’e git ama 30. frame den sonra oynat ki asker amca ölmeye başlasın..

Ve son olarak yine bu movie clip içinde bir layer daha açıyorum ve bu layera düğme adını veriyorum. Burda sadece hit alanı olan bir düğme yapacağım. New Sembol / button.. Açılan düğme sembolünde up-over-Down boş bırakıyor, hit bölümüne keyframe açıyorum ve hedefimizi vurma alanını belirliyorum. ister bütün bir hedef, ister hedefin bir parçasını seçebilirsiniz. ben sadece göğsünü sınırladım (Resim 8)

Bu düğmeyi, yeni açtığımız düğme layerında hedefimizin üzerine yerleştiriyoruz ve bize ateş etmeye başladığı bölüme kadar frame ekliyoruz. Bende 21. frame
Ardından sadece bu düğmeyi seçiyoruz ve ölüm sahnesinin başladığı frame (bende 31. frame olduğu için) şu action scripti ekliyoruz;
on (release) {
goandplay(31);
}
yani üzerine tıklandığında (ateş edildiğinde) 31. frame git ve oynat.
Artık Scene’e dönüp oyununuzu test edebilirsiniz.

Bundan sonrası kendi yaratıcılığınızla şekillenir. Backround ekleyebilirsiniz, hedef alıanını belirlediğimiz butona gidip “down” bölümüne keyframe açarak silah sesi, movie clipte 31. frame e ölüm efekti ekleyebilirsiniz.... gibi.
Burada anlattığım tam anlamıyla bir oyun değil tabiki. Sadece temeli. Ama bu movie Cliplerin birleşimiyle oyunlar yaratacağız ve bölüm atlamalarını, bu şekilde gerçekleştireceğiz. Bu örneği, oyunun çekirdeği olarak düşünebilirsiniz.
pdf dosyası
4shared.com - document sharing - download shut_gun.pdf
fla dosyası
4shared.com - online file sharing and storage - download shutgun.sea