PDA

Orijinalini görmek için tıklayınız : ActionScript 3.0 Dersleri: Basit ScrollBar


MyLiFFe
04-21-2013, 05:48 PM
Bu yazıda herhangi bir flash componenti kullanmadan basit bir scrollbar(kaydırma çubuğu) hazırlamaya çalışacağız. Önce bir scrollbar oluşturmak için sahneye biri diğerinin üzerinde iki çubuk ve scrollbar hareketlerine göre konumu değişecek nesneyi çiziyoruz. Bunlara kodlarla işlem yaptırmak için “cbk_ust”, “cbk_alt” ve “alan” instance name’lerini veriyoruz.
Şimdi kodlamalarda ilk adım olarak üst çubuğun(cbk_ust) boyunu “alan”ın boyuna göre orantılamamız gerekiyor. Böylece alanın boyu(height) ne kadar uzun olursa cbk_ust’un boyu da cbk_alt’a oranla o kadar küçülecektir.

cbk_ust.height=cbk_alt.height/alan.height*cbk_alt.height

Bu kodda cbk_alt’ın(alan’ın sahnedeki görünecek kısmının) uzunluğun alan’ın tamamına oranını bir değer olarak kabul edip bunu cbk_ust’un cbk_alt’a oranına atıyoruz. Böylece alan’ın boyuna göre cbk_ust’un boyu değişiyor.

Şimdi de cbk_ust’u taşınabilir yapmamız gerekiyor.

var rect:Rectangle = new Rectangle(cbk_alt.x, cbk_alt.y, 0, cbk_alt.height-cbk_ust.height);
cbk_ust.addEventListener(MouseEvent.MOUSE_DOWN,tas i)
function tasi(e:MouseEvent){
cbk_ust.startDrag(false,rect)
}
cbk_ust.addEventListener(MouseEvent.MOUSE_UP,birak )
stage.addEventListener(MouseEvent.MOUSE_UP,birak)
function birak(e:MouseEvent){
cbk_ust.stopDrag()
}

Bu kodda önce startDrag yapacağımız cbk_ust için bir rectangle tanımladık. Rectangle taşıdığımız objenin hareket sınırlarını bildiren bir dikdörtgendir, bunu kodlarla belirttik. Daha sonra startDrag ile taşımayı başlattık. startDrag’ın ilk parametresi lockcenter’dır. Cismi tutunca, cismin merkezinin mouse’a kilitlenmesini istemediğimiz için lockcenter parametresini false yaptık. startDrag’ın ikinci parametresi ise daha önce tanımladığımız rectangle’dır.
Şimdi de alan ismini verdiğimiz nesneyi cb_ust’un hareketlerine göre kaydırmamız gerekiyor. Sürekli çalışacak bir fonksiyon yazıyoruz

stage.addEventListener(Event.ENTER_FRAME,cls)
function cls(e:Event){
alan.y=cbk_alt.y+(cbk_ust.y-cbk_alt.y)*(alan.height-cbk_alt.height)/(cbk_ust.height-cbk_alt.height)
}

Bu kodda alan’ın y koordinatını bir değere eşitledik. Bu değer, cbk_ust’un hareket ettiği mesafenin tüm hareket mesafesine oranı ve alanın hareket ettiği mesafenin tüm hareket mesafesine oranı karşılaştırarak bulunur. Bu şekilde kabaca bir scrollbar yapmış olduk. Bu kodları kullandığımızda ve son olarak da alan dediğimiz nesneye bir mask uyguladığımızda çalışmanın son hali şu şekilde olacaktır:

(scrollbar’ı kaydırın)

basit_scroll.swf ([Linkleri Sadece Kayıtlı Üyeler Görebilir!])

Çalışmanın kaynak dosyasını aşağıdaki linkten indirebilirsiniz.

—
Kaynak Dosya: ([Linkleri Sadece Kayıtlı Üyeler Görebilir!])

sByRz
04-21-2013, 06:14 PM
Abi derslere başlamışsınız Hayırlı olsun devamını bekliyorum

MyLiFFe
04-22-2013, 05:36 PM
Evet Derslere Başladım Dahası Gelecek inşALLAH

HamurHaber
04-22-2013, 05:44 PM
eLine sağlık ins sizin sayenızde bende öğrenicem..

MyLiFFe
04-22-2013, 05:59 PM
inşALLAH kardeşim