Ses Örnekleri-4


Flash MX2004 versiyonunuyla beraber components panelinde hazır araçlar olması nedeni ile bu tür çalışmalara gerek kalmamıştır. Yine de kodları öğrenme açısından göz atmakta yarar var.

1- Kedi klibini hariç tutarsak dosyada 2 önemli klip mevcuttur. Birincisi sürgü_bar diğeride sürgünün hareket ettiği aralık klibidir.

2- Önce aralık klibini oluşturalım. 6 piksel genişliğinde 100 piksel yüksekliğinde siyah renkli bir dikdörtgen oluşturalım. 100 piksel yükseklik seçilmesindeki amaç ilerde uygulayacağımız kodlardaki matematiksel işlemin anlaşılır olması içindir.

3- Bir sürgü butonu oluşturalım.Daha sonra yeni bir movie klip açalım. Butonu bu klip içine yerleştirelim.

4- Ana sahneye dönelim. İlk katmana kedi film klibimizi yerleştirelim. İkinci bir katman ekleyelim ve buraya sürgü grafiğimizin arka planını koyalım.Üçüncü bir katman ekleyerek bu alana da ses şiddetini gösteren rakamlarımızı yerleştirelim. Tekrar bir katman ekleyelim. Kütüphaneden önce aralık klibini sonra bunun tam üstüne sürgü_bar klibimizi yerleştirelim. Şimdi bu klipleri adlandıralım.(surgu ve aralik)

5- Aralık klibini seçelim. Klibin merkez noktasını en alt kısma alalım. Bunun için araç kutusundan Free Transform aracını seçelim.Klibe ait artı şekliyle gözüken merkez noktasını mouse ile tutarak(imleçte bu alana gelince daire şeklinde bir oluşum ortaya çıktığını göreceksiniz) en alt kenara indirelim. Bu nokta sesin en kısık olduğu alan olacaktır.

Şimdi sürgü_bar klibimizi açalım ve butonu seçelim. Bildiğiniz çekme komutlarını vereceğiz. startDrag komutunu verin.Mouse olayı olarak press`i seçin. Target alanına this yazın. Lockcenter ve constrain to retrangle alanlarını işaretleyin. İlk komut klibi fareye kilitleyecek, ikinci komutla da hareket alanı belirlenecektir. Sürgünün hareket edeceği alan aralık klibinin en ve boyuna göre olacağından ilgili alanlara şu kodları girin:
L= _root.aralik._x
R=_root.aralik._x
Bu iki komut butonun sağ ve sola kaymadan aralık klibi üzerinde düzgün hareket etmesini sağlar.
B= _root.aralik._y
Bu komutla butonun en altta hareket edeceği sınır aralik klibinin en alt kenarına sınırlanır. Merkez noktayı önceden bu amaç için değiştirmiştik.
T=_root.aralik._y-100
Sürgünün üst hareket sınırıdır. Daha önceki konularda anlatıldığı gibi y noktası ana sahnede aşağıya doğru artar yukarıya doğru azalır.Bu nedenle artı değil eksi seçilmiştir.100 rakamı film klibinin boyutu nedeniyledir.

Bu komutlarla sürgü hareketi aralık klibi boyutuyla sınırlanmıştır. Kapa parantezi seçelim ve stopDrag komutunu verelim. Butona ait kodlar söyle olacaktır:

on (press) {
startDrag (this, true, _root.aralik._x, _root.aralik._y-100, _root.aralik._x, _root.aralik._y);
}
on (release) {
stopDrag ();
}

6- Ses klibimizi tutturma işlemine başlayalım. Bu işlem için 1.frame, sürgü_bar klibi, sahneye eklenen bir buton veya kedi film klibi kullanılabilir. Biz tutturma işlemi için kedi klibini kullandık. Daha önceki örneklerde anlatıldığı gibi ses dosyamızı linkage komutu ile adlandıralım.(kedi_sesi) yeni_ses=New Sound() komutunu girerek değişkenimizi tanımlayalım. Parantez içine tutturulacak klibin adını(kedi) girelim. attachSound komutunu girelim,instancename kısmına yeni_ses değişken adımızı, parantez içine çift tırnak işareti arasında ses dosyamızın adını girelim.(kedi_sesi) start() komutunu verelim.instancename kısmına yeni_ses, parantez içine 0 , 80 yazalım. Artık ses dosyamız açıldıktan sonra 80 kez çalabilecektir. Komutların genel görüntüsü şöyle olur:

onClipEvent (load) {
yeni_ses = new Sound(kedi);
yeni_ses.attachSound("kedi_sesi");
yeni_ses.start(0,80);
}

7- Şimdi en önemli kısma geliyoruz. Sürgü _bar klibini aralık klibi boyunca hareket ettirirken sesin çoğalıp azalmasını nasıl sağlayacağız?
Aralık klibinin üst kısmı 100 alt kısmı 0 ses şiddetini göstermelidir. Bu y koordinatının 0-100 arasındaki sayılarla eşleşmesi için globalToLocal komutunu kullanıyoruz.

Ana sahnede sürgü_bar klibini seçelim ve şu komutları atayalım:

onClipEvent (mouseMove) {
noktam = new Object();
noktam.x = this._x;
noktam.y = this._y;
_root.aralik.globaltoLocal(noktam);
_root.kedi.yeni_ses.setVolume(-1 *noktam.y);
updateAfterEvent();
}


Sürgü klibinin her hareketi ile yukardaki komutlarlar çalışacaktır. Önce noktam isimli bir nesne oluşturuluyor. Sürgü klibinin x ve y değerleri 2 ayrı değişkene atanıyor, noktam nesnesi ile aralık klbi arasında ilişki kuruluyor. Son olarakda sürgü hareketi ile ses volüm bağlantısı ayarlanıyor. Filminizi test edebilirsiniz.