List Component


Bu çalışmada listbox içinden seçilen bir frame numarasına geçişin nasıl yapılacağı anlatılmıştır.Burada kullanılan goto komutu yerine getURL komutunu vererek bir adrese geçiş yapmanız kolaylıkla mümkün olacaktır.



DOSYAYI İNDİR   

 

Uygulama:

1- Sahneye 1 tane listBox çekerek bırakalım. İnstance name kısmına list_box yazalım. Çalışma tamamen kodlarla oluşturulduğundan properties veya component inspector paneli kullanılmayacatır.

2- ListBox içinden geçiş yapılacak 2,3,4,5,6 ve 7. karelere birer blankkeyframe atayalım.Bu alanlara bizim çalışmamızda birer resim yerleştirilmiştir.

3- 1.kareye şu komutları atayalım:

stop();
list_box.setStyle("themeColor", "haloBlue");

var eleman1 = { label: "Frame-2", data: 2 };
var eleman2 = { label: "Frame-3", data: 3 };
var eleman3 = { label: "Frame-4", data: 4 };
var eleman4 = { label: "Frame-5", data: 5 };
var eleman5 = { label: "Frame-6", data: 6 };
var eleman6 = { label: "Frame-7", data: 7 };

list_box.addItem ( eleman1 );
list_box.addItem ( eleman2 );
list_box.addItem ( eleman3 );
list_box.addItem ( eleman4 );
list_box.addItem ( eleman5 );
list_box.addItem ( eleman6 );

list_boxListe = new Object();
list_boxListe.change = function ( secim ){
var secilen=secim.target.selectedItem.data;
_root.gotoAndStop(secilen)
}

list_box.addEventListener ("change", list_boxListe);

Açıklamalar:

stop();
list_box.setStyle("themeColor", "haloBlue");

// Yukarıdaki kodlarla film 1.karede durur ve panelimizin rengi maviye ayarlanır.

var eleman1 = { label: "Frame-2", data: 2 };
var eleman2 = { label: "Frame-3", data: 3 };
var eleman3 = { label: "Frame-4", data: 4 };
var eleman4 = { label: "Frame-5", data: 5 };
var eleman5 = { label: "Frame-6", data: 6 };
var eleman6 = { label: "Frame-7", data: 7 };

// Bu kodlar listBox içine label ve data değerlerini atar. Şayet properties panelini kullanmak isterseniz bu kodların yazılmasına gerek yoktur. Diğer çalışmalarımızda olduğu gibi properties panelinde label ve data alanlarını tıklayarak açıp gereken verileri ekleme şansımız da vardır. Bu arada data değerini gidilecek frame numarası olarak kullanacağız.

list_box.addItem ( eleman1 );
list_box.addItem ( eleman2 );
list_box.addItem ( eleman3 );
list_box.addItem ( eleman4 );
list_box.addItem ( eleman5 );
list_box.addItem ( eleman6 );

// Hazırlanan label isimlerini ve data değerlerini addItem komutu ile listbox içine atıyoruz. Üstte yapılan açıklamada olduğu gibi elemanları manuel olarak properties panelinden eklemek isterseniz bu kodları yazmanıza gerek yoktur.

 

list_boxListe = new Object();
list_boxListe.change = function ( secim ){
var secilen=secim.target.selectedItem.data;
_root.gotoAndStop(secilen)
}

list_box.addEventListener ("change", list_boxListe);

// Yine klasik bir component kodları oluşturuyoruz. Birçok kez kullandığımız bu kodlarla tıklanan elemanın data değeri alınmaktadır. secim.target.selectedItem.data; kullanılan bu kod birkaç kodun birleştirilmesi ile oluşturulmuş pratik bir dizidir.Basitçe tanımlarsak hedeflenen değeri seçtiğimiz an ona ait data değerini elde ediyoruz ve bu değeri secilen adlı bir değişkene atıyoruz.Sonra bu degeri goto kodunda geçiş yapılacak frame numarası olarak kullanıyoruz. Son olarak bu fonksiyonu tıklama yapıldığı an çalışması için list_box.addEventListener ("change", list_boxListe); dizini ile lisBox`a atıyoruz.