Flash ActionScript ile Ses Çalma

Bu dersimizde ufak çocuklara yönelik ufak bir oyun yapacağız. Bir sonraki günün dersine hazırlanırken 3,5 yaşındaki oğlum yanıma geldi ve “babaaa canım sıkıldı” dedi. Bende o anda Flash ile ertesi gün anlatacağım basit bir bilgi yarışması yapıyordum. Aklıma onunda vakit geçireceği kısa bir renk oyunu yapmak geldi.

Nasıl yapıldığına geçelim.

1)  Öncelikle Bir action Script 3.0 (Flash CS5 yada 6 ile fark etmez) dosyası oluşturun.
2) Dosya > İçe Aktar > Kütüphaneye İçe Aktar Seçerek kullanacağımız ses dosyalarını Çalışma kitaplığına aktarın. Pencere Menüsünden Kütüphaneyi tıklarsanız ses dosyalarını göreceksiniz. Ben Mp3 olarak aktardım. M4a formatını desteklemiyor bilginize. Eklediğim sesler aşağıdaki gibidir. Sadece kırmızı ve ve mavi renkten oluşan 2 soru var sadece animasyonda.

3) Daha sonra 1. Kareye aşağıdaki gibi bir tasarım yapın. Bu karede sakın nesneleri sembole dönüştürmeyin. Her nesne çizdiğiniz şekilde kalsın.

4) 2. Karenin üzerine sağ tuşa basın ve Anahtar kare ekleyi seçerek 2. kareye de aynı şekilleri oluşturun ve hala sakın sembollere dönüştürmeyin. Burada isterseniz şekilleri ve renkleri değiştirmek için 2. karedeki şekilleri silip yenileri çizebilirsiniz. Ben tekrar uğraşmadım aynı şekilleri kullandım. Sadece  soruyu değiştirdim.

5) 3. Kareye sağ tıklayarak boş anahtar kare ekleyin ve aşağıdaki gibi bir nesne daha çizin.

6) Şimdi ise artık her nesneyi sembole dönüştürmeye geldi sıra. 1. kareden itibaren her nesneyi tek tek seçip F8’e basarak düğmeye dönüştürün ve özellikler penceresinden <örnek ad> yazan kısma bir isim verin. Ben verdiğim isimleri  resimlerin üzerine gri ile yazdım. Kodlamalar o isimlere göre olacak. Sonuncu düğmenin adı ise “bitis”.

7) Şimdi zaman çizelgesine bir katman ekleyin ve adına sesler deyin ki daha sonra karışmasın katmanlar. Sesler katmanının 1. karesine tıklayın ve özellikler penceresinde yer alan Ses bölümünde bulunan uygun sesi seçin. Seçitiğinz ses o kareye gelince otomatik olarak oynatılacaktır. Ben 1. karede Kırmızı renk sorulduğu için kırmızı.mp3 ‘ü seçtim.

8. Bu şekilde tüm karelere ilgili sesleri ekleyiniz. Sesleri ekleyince Animasyonu test ederseniz animasyon sürekli oynayacak ve tüm sesleri tek tek çalacaktır. Buda büyük bir karmaşaya sebep olur. Sakın ha korkmayın ne oluyor diye. :)İste bunu olmaması için devreye ActionScript giriyor.

9. Çizimlerin olduğu katmanın 1. karesini tıkayın ve F9’a basarak kod penceresini açın ve aşağıdaki kodları yazın. Nesneleri doğru isimlendirdiğinizden emin olun.

ileri.visible = false; //ileri düğmesini gizle
stop(); //sürekli oynamaması için animasyonu durdur.
dortgen.addEventListener(MouseEvent.CLICK, prg1); // dortgen isimli düğme tıklanırsa prg1 i çalıştır.
function prg1(e:MouseEvent)
{
    besgen.visible = false;  // istenemeyen düğmeleri gizle
    oval.visible = false;
    kare.visible = false;
    ileri.visible = true;   //ileri düğmesini görünür yap
    // zaman çizelgesine eklemediğim ama .fla dosyasının yanında olan dogru.mp3 sesini çal.
    var ses:Sound = new Sound(new URLRequest("dogru.mp3")); 
    ses.play();  
	
	
}
ileri.addEventListener(MouseEvent.CLICK, prg2);  //ileri düğmesi tıklanınca prg2 yi çalıştır
function prg2(e:MouseEvent)
{
   gotoAndStop(2); //2. kareye git ve orada dur 
}

10. Çizimlerin olduğu katmanın 2. karesini tıkayın ve F9’a basarak kod penceresini açın ve aşağıdaki kodları yazın. Nesneleri doğru isimlendirdiğinizden emin olun.

//artık neyin ne olduğunu biliyorsunuz.
//açıklamaya gerek yok daha fazla
bitir.visible=false;
oval2.addEventListener(MouseEvent.CLICK, prg21);
function prg21(e:MouseEvent)
{
        dortgen2.visible = false;
	besgen2.visible = false;
	kare2.visible = false;
	bitir.visible = true;
	var ses:Sound = new Sound(new URLRequest("dogru.mp3")); 
        ses.play();
}
bitir.addEventListener(MouseEvent.CLICK, prg22);
function prg22(e:MouseEvent)
{
gotoAndStop(3);
}

11. Çizimlerin olduğu katmanın 2. karesini tıkayın ve F9’a basarak kod penceresini açın ve aşağıdaki kodları yazın. Nesneleri doğru isimlendirdiğinizden emin olun.

bitis.addEventListener(MouseEvent.CLICK, prg32);
function prg32(e:MouseEvent)
{
gotoAndStop(1);
}

İşte hepsi bu. Kolay gelsin. Umarım faydalı olmuştur.

[kml_flashembed publishmethod=”static” fversion=”8.0.0″ movie=”http://www.mustafaakbal.com.tr/wp-content/uploads/2017/04/renkler.swf” width=”550″ height=”400″ targetclass=”flashmovie”]

Get Adobe Flash player

[/kml_flashembed]

Önemli Not : Kütüphaneye eklediğiniz ama zaman çizelgesine ses olarak eklemediğiniz ses dosyalarını çalmak için biraz zahmetli işlerle uğraşmak gerekli. O sebeple;

var ses:Sound = new Sound(new URLRequest("dogru.mp3")); 
        ses.play();

kodlarında bulunan dogru.mp3 ses doyasının projenizdeki .fla yada dışa aktarılmış olan .swf dosyasının hemen yanında olması gerekir. Aksi halde bu kodlarla çalınan dosya çalışmayacaktır.

Eğer animasyona gömülü şekilde olsun ve birde ses dosyasını da taşımayayım derseniz buradaki makaleye bakın.

4 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir