Burda tam 12 tane ders Sizler için daha yeni uploud ettim alıntıdır ama çok işe yarıyor bende bunları izleyerek başladım flash a buldukça ve elimdek geldikçe oyun yapmayı da açıklıyacağım ama ilk önce kolaydan başlayalım
İlk önce oyunda kullancağımız objeleri oluşturalım. Yeni bir film dosyası açın. ilk frame'deyken arkaplan olarak kullanacağımız bir resim ya da objeyi stageye koyun. Ben delikleri koydum. (resmi nasıl import edeceğinizi biliyorsunuz değil mi?) Şimdi bir layer daha ekleyin ve karışıklık çıkmasın diye ismini buton olarak değiştirin. Bu layerda iken bir daire veya istediğiniz (hedef olabilecek) bir şeyi sahneye yerleştirin. Bunu seçerek Insert/Convert to Symbol (F8) butona çevirin. Adını hedef koyun. Ben buton olarak tırtılı koydum. (örneği incelediyseniz bilirsiniz :)) Bir layer daha ekleyin adını yazılar koyun. Sağ üst köşeye "PUAN:" (tırnaklar yok) yazın. Şimdi bu yazınızın 1-2 piksel sağına 3-4 karakter sığacak kadar büyüklükte bir text alanı oluşturuyoruz. Text options bölümünde Dynamic Text'i seçiyor, Variable alanına "puan" (tırnaklar yok) yazıyoruz. Bir başlangıç butonu ekleyelim de oyunumuz birden bire başlamasın dimi! 1. framelerdeki layerları teker teker frame ikiye taşıyın. Bunu nasıl yapacağınıza gelince örneğin ilk layerımızı taşıyoruz diyelim. İlk layerda iken mouse ile ilk keyframeye basılı tutup sürükleyek ikinci frame'e götürüp faremizin sol tuşunu serbest bırakalım. Bütün layerlarda bunu uygulayalım. Böylece ilk framemizde hiç bir şey olamayacaktır. Şimdi arkaplanımızın bulunduğu layeri bulun ki bu layer en alttaki layerdır bu layerda ilk frame'i(boş olanı)seçin ve buraya bir buton ekleyin. Window/Common Libraries/buttons'taki herhangi bir butonu kullanabilir veya kendiniz bir buton hazırlaya bilirsiniz. Bir üstteki layerın ilk frame'ini seçip ve butonun tam üzerine başlat yazıyoruz. (örneğimizde olduğu gibi). Butonumuza çift tıklayıp açılan yere şu aksiyonu giriyoruz: on (release) { gotoAndPlay (1); } Böylece butonumuza tıklanınca 2.frameye yani oyunumuzun olduğu yere gidecek. Şimdi herhangi bir layerda(ben boş olduğu için en üstteki yazı layerını tercih ettim) ilk frame'e çift tıklayın ve stop aksiyonunu girin. İsterseniz örnekte olduğu gibi butonun yanına veya istediğiniz bir yere oyunun açıklamasını yapın. İlk frame ile işimiz bitti. Artık ikinci kareye geçebiliriz. Şimdi hedef olarak belirlediğimiz butonumuza çift tıklayın ve şu actionları girin: on(release){ puan=puan+1; } Hemen bu kodları açıklayalım: Birinci satırda butonumuza basılı tutulup sonra serbest bırakılınca bu kodun devreye gireceği yazıyor. Daha önce yaratıp variable alanına puan yazdığımız text alanında ne varsa birle toplanacağıda ikinci satırda yazıyor. Son satırda ise değişken kodunun bittiğini gösteren bir süslü parantezimiz var. Buton layerımızın ikinci karesini tekrar seçelim. F5 tuşunu kullanarak on adet frame ekleyelim. Son eklediğimiz frame'in bir sağındaki frame'ye tıklayıp bir keyframe ekliyoruz. Daha sonra bir keyfame daha ekleyip hedefimizin yerini değiştiriyoruz. Şimdi bu on frame + 2 keyframe + yer değiştirmeyi 6 kez tekrarlıyoruz.(eğer birincisini benle birlikte yaptıysanız geriye 5 tane kalıyor) Yanlız en sonuncuda iki değil bir keyframe ekliyoruz ve hedefimizin yerini değiştirmiyoruz. Biraz daha action script yazalım, bu action scriptleri açıklayalım ve bir kaç not yazarak bu dersimizi bitirelim. Aşağıdaki actionları 13, 25, 37, 49, 51, 61 ve 73. framelerimize giriyoruz. Bu frameler aynı zamanda on frame + iki keyframe + yer değiştirme üçlemesindeki ilk keyframedir. Yani yanlış yaptıysanız bunların aynı yere denk gelip gelmediğini kontrol ederek yanlışlarınızı bulubilirsiniz. İşte kodlar: function Firmer (min, max) { return Math.floor(Math.random()*(max+1-min))+min; } x = Firmer(1, 6); gotoAndPlay ((x*12)-10); Bu kodları kısaca açıkayalım: İlk iki satırda Firmer adında bir fonksiyon belirliyoruz. Bu fonksiyon kendisine gelen değerler arasında rasgele bir seçim yapıyor. Ve seçtiği sayıyı, değerleri aldığı yere geri gönderiyor. Üçüncü satırımızda yine bir bitişi gösteren süslü parentezimiz karşımıza çıkıyor. Dördücü satırda bir x değişkeni tanımladık. Bu x değişkenimizin Firmer fonksiyonumuza 1 ile 6 değerlerini göndermesini sağladık. Firmer fonksiyonumuzun 1 ve 6 arasından seçtiği rasgele sayı da x değişkenimiz oluyor. gotoAndPlay fonksiyonumuzdada x sayısını 12 ile çarptırıp çıkan sonuçtanda 10'u çıkardık. Böylece animasyonumuzun hep 13, 25, 37, 49, 51, 61 ve 73. framelerimizde olmasını sağladık. İşte asıl soru: Peki ya ziyeretçi oyuna yeniden başlamak yani puanını sıfırlamak isterse? Bir buton ekleriz gotoAndPlay komutuyla 1.Frameye gidilmesini sağlarız dediğinizi duyar gibi oluyorum. Ama yanlış diyorsunuz. Yani yanlış değilde oyun oynayan kişiyi yeniden başlaması için tıkladığı bir butonla 1.frame'e gönderiyor orada oyunu tekrar oynayabilmesi için ikinci bir butona tıklamak zorunda bırakıyorsunuz. Bunun kolayı yani oyundan çıkmadan puanı sıfırlamayı burada yazıcam, yazıyorum: Şimdi arkaplanımızın bulunduğu layerda ikinci frameye geliyoruz. Sağ alt köşeye üzerinde puanı sıfırla yazılı olan buton ekliyoruz. Bu butonumuza şu komutları giriyoruz: on(release){ puan=puan*0; } Hemen kodumuzu açıklayalım: İlk satırda üzerine basılıp bırakınca komutun çalışacağı yazıyor. İkinci satırımızda ise puan alanında hangi sayı varsa onu sıfırla çarpıcak ve yerine çıkan sonucu yani sıfırı yazdıracak olan ko dumuzu görüyoruz. Son satırdaysa süslü parantezimiz yerini alıyor.
Eğer oyun kullandığınız hedefin birden değilde örnekte olduğu gibi delikten dışrı çıkması istiyorsanız buraya tıklayıp ders notunu okumanız ve butonunuzu öyle yapmanızı tavsiye ederim. http://www.firmerdesigns.com/ders_flash_animdu.htm
http://rapid share.com/files/27906977/flashders6.rar.html
Hadi bakalım Hayırlı Olsun