ActionScript 3.0 ile Gelişmiş Ses Kontrolü-2

Yazan: Hakan Çamoğlu on Eylül 23rd, 2009

Gelişmiş Ses Kontrolü

Web sitelerinde kullandığınız seslerin sitenizi yavaşlatmasına izin vermeyin ve kullanıcıya gelişmiş kontrol imkanı vererek sitenizi gezerken keyif almasını sağlayın.

var ses:Sound = new Sound();
var adres:URLRequest = new URLRequest(”sound.mp3″);
var sesKontrol:SoundChannel = new SoundChannel();
var sesDuzeyi:SoundTransform = new SoundTransform();
ses.load(adres);

ses.addEventListener(Event.COMPLETE, baslat);
function baslat(event:Event) {
sesKontrol = ses.play(0,999);
ac_btn.visible = false;
}

kapat_btn.addEventListener(MouseEvent.CLICK, sesKapat);
function sesKapat(event:MouseEvent) {
sesKontrol.stop();
ac_btn.visible = true;
}

ac_btn.addEventListener(MouseEvent.CLICK, sesAc);
function sesAc(event:MouseEvent) {
sesKontrol = ses.play(0,999);
ac_btn.visible = false;
}

eksi_btn.addEventListener(MouseEvent.CLICK, sesAzalt);
function sesAzalt(event:MouseEvent) {
if (sesDuzeyi.volume > 0) {
sesDuzeyi.volume -= 0.1;
sesKontrol.soundTransform = sesDuzeyi;
maske_mc.x -= 6;
}
}

arti_btn.addEventListener(MouseEvent.CLICK, sesArttir);
function sesArttir(event:MouseEvent) {
if (sesDuzeyi.volume < 1) {
sesDuzeyi.volume += 0.1;
sesKontrol.soundTransform = sesDuzeyi;
maske_mc.x += 6;
}
}

maske_btn.addEventListener(MouseEvent.MOUSE_DOWN, surukle);
function surukle(event:MouseEvent){
maske_mc.startDrag(true, new Rectangle(-30,maske_mc.y,60,0));
}

stage.addEventListener(MouseEvent.MOUSE_MOVE, ayarla);
function ayarla(event:MouseEvent){
sesDuzeyi.volume = (maske_mc.x+30)/60;
sesKontrol.soundTransform = sesDuzeyi;
}

stage.addEventListener(MouseEvent.MOUSE_UP, birak);
function birak(event:MouseEvent){
maske_mc.stopDrag();
}

Örnek dosyayı buradan indirebilirsiniz.

ActionScript 3.0′da releaseOutside Olayını Kullanmak

Yazan: Hakan Çamoğlu on Eylül 20th, 2009

ActionScript 2.0 da hazırladığımız birçok uygulamada hatalardan kurtulmak için releaseOutside olayını kullanırdık. Ancak ActionScript 3.0 da bu olay artık kullanılmıyor.

Peki biz bu olayı kullanmadan oluşabilecek problemleri nasıl çözeriz?
İş size cevabı…

test_btn.addEventListener(MouseEvent.MOUSE_DOWN, surukle);
function surukle(event:MouseEvent){

}

stage.addEventListener(MouseEvent.MOUSE_UP, birak);
function birak(event:MouseEvent){

}

MOUSE_UP olayını stage üzerinde tanımlayarak bir nevi releaseOutside elde etmiş oluyoruz. Buton üzerinden çıktıktan sonra sahnenin herhangi bir yerinde fare bırakıldığında artık birak fonksiyonumuz çalışacaktır.


Copyright © 2007 ActionScript Türkiye. All rights reserved.