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.
1 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 , aralik ve kedi)
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.
/* Class ismini kedi_sesi olarak ayarladığımız ses dosyasını
sesimiz değişkenine atıyoruz.Bunun nasıl yapıldığını 1.örnekte görebilirsiniz*/
var ses:kedi_sesi = new kedi_sesi();
var sesimiz=ses.play(0,500);
/*Sürgünün alt sınırını tesbit ediyoruz.Bu değeri volüm
ayarlamasında kullanacağız*/
var alt_sinirimiz=aralik.y;
/* Sürgünün hareket ettiğinde çalışacak fonksiyonu
hazırlıyoruz.*/
function yukle(event:MouseEvent):void { /*Yeni bir nokta oluşturuyoruz ve başlangıç değeri
için sürgü klibinin x ve y değerlerini atıyoruz.Sonra sesimizi
transforme edeceğimizi deklare ediyoruz.Sürgünün hareket edeceği
alan 100 piksel olduğundan her bir piksel hareket için ses şiddeti
0.01 olacak şekilde azaltılıp çoğaltılması için gereken
matematiksel işlem hazırlanıyor.ses volüm değerinin 0-1
arasında değiştiğini hatırlatmakta yarar var.Bu matematiksel işlem
bu üst ve alt sınırı gözeterek planlanmıştır.*/
var noktamiz:Point = new Point(surgu.x,surgu.y);
var transform:SoundTransform = sesimiz.soundTransform;
transform.volume =( alt_sinirimiz-noktamiz.y)/100;
trace(transform.volume)
sesimiz.soundTransform = transform;
}
//Sürgünün fare ile sürükleneceği koordinatlar ayarlanıyor
function cek(event:MouseEvent):void {
var alan:Rectangle = new Rectangle(aralik.x,aralik.y-100,aralik.width,aralik.height);
surgu.startDrag(true,alan);
}
surgu.addEventListener(MouseEvent.MOUSE_DOWN, cek);
//Fare sol tuşu bırakılınca sürükleme sonlandırılıyor
function birak(event:MouseEvent):void {
surgu.stopDrag();
}
surgu.addEventListener(MouseEvent.MOUSE_UP, birak);