Oca022010

ActionScript 2.0 Kullarak XML Tabanlı Fotoğraf Galerisi Hazırlamak

ActionScript 2.0 ile birlikte daha kararlı bir yapıya ulaşan ve şu anda ActionScript 3.0 ile gelişmiş özellikler, server ve client uygulamalarını büyük ölçüde kolaylaştıran serüvende yolculuğumuzu bir önceki versiyon olan ActionScript 2.0 ile gerçekleştireceğiz. Bu makale içerisinde Flash'a önceki sürümlerinde eklenen Component'lerden ComboBox ve ScrollPane nesnesine ait temel özellikler ile XML nesnesinin kullanımına yer vereceğim. Uygulamayı gerçekleştirmek için açtığımız Flash dokumanında aşağıdaki tasarımı oluşturuyoruz.

Temel olarak burada ComboBox ve ScrollPane nesnesinin kullanılması yeterlidir. Bu nesneleri eklemek için Component panelini kullanmanız gerekmektedir. Bu panel çalışma alanınızda bulunmuyorsa, Window menüsünden Components seçeneği ile yada Ctrl + F7 kısayolu ile görüntüleyebilirsiniz. Eklediğimiz ComboBox nesnesine cbResimler, ScrollPane nesnesine spResimGosterici ismini veriyoruz. Bu isimlendirmeler sonrasında XML kaynağımızı oluşturuyoruz ve Kaynak.xml olarak isimlendiriyoruz. XML kaynağımız aşağıdaki şekildedir;



Burada her bir resim tag içerisindeki bilgi hazırlayacağımız resimlerin bulunduğu klasör ve isimlerini göstermektedir. Bu bilgi kullanılarak ScrollPane nesnesine resimlerin yüklenmesi sağlanacaktır. Sonrasında Flash belgemize dönerek kodlarımızı yazmaya başlıyoruz. Kodlarımızı bir frame üzerine yazacağız. İlk aşamada XML nesnesinin tanıtılması ve yüklenmesi ile başlıyoruz.

 

_root.XMLKaynak = new XML();
_root.XMLKaynak.ignoreWhite = true;
_root.XMLKaynak.load("Kaynak.xml");


İlk satırda XMLKaynak adında XML nesnemizi oluşturuyor, ikinci satırda ignoreWhite property ile XML içerisindeki boşlukların gözardı edilmesi sağlanıyor, üçüncü satırda ise Kaynak.xml adındaki XML Flash içerisine yükleniyor. Şimdi yüklenme sonrasında işlemlerin gerçekleştirilmesini sağlayalım. XML'in Flash'a yüklenmesinin elde edileceği onLoad eventi'ni kullanacağız.

 

_root.XMLKaynak.onLoad = function() {
    resimSayisi = _root.XMLKaynak.firstChild.childNodes.length;
    cbResimler.addItem({data:0, label:"Resim Seçiniz"});
    for (i=0; i<resimSayisi; i++) {
        resimYolu = _root.XMLKaynak.firstChild.childNodes[i].firstChild.nodeValue;
        cbResimler.addItem({data:resimYolu, label:"Resim " + (i+1)});
    }
}


onLoad eventi ile XML dosyasının yüklenmesi sonrasında resimSayisi değişkenine toplam resim sayısının elde edilmesini sağlayan ve ilk noda ait alt nodların sayısını veren childNodes özelliği kullanıyor. Sonrasında bir döngü ile her bir noddaki resmin yoluna ait veri alınadar cbResimler adını verdiğimiz ComboBox nesnesine addItem methodu ile data ve label olmak üzere iki özelliğe elde edilen resimYolu değişkeni ve Resim sırasını belirtecek bir ifade sırasıyla ekleniyor. Bu şekilde kod kısmının ikinci kısmını tamamlıyoruz ve son kısma geçiyoruz.

 

var cbDinleyici:Object = new Object();
cbDinleyici.change = function(evt_obj:Object) {
    spResimGosterici.contentPath = evt_obj.target.selectedItem.label;
};
cbResimler.addEventListener("change",cbDinleyici);


Bu kısımda ComboBox nesnesinin içerisindeki verilerin listelenmesi sonrasında veri değişimi sonrasında tetiklenecek bir event ve bu event'in çalıştırılmasını sağlayacak addEventListener methodunu çalıştırıyoruz. cbDinleyici adında bir Object tanımlayıp bu nesnenin değiştirilmesi sonrasında spResimGosterici adını verdiğimiz ScrollPane nesnesine ait contentPath özelliğine XML kaynağından elde ettiğimiz resim yolunu ekliyoruz. Son satırda ise bu event'in cbResimler ComboBox'ına ait olduğunu belirten bir Listener oluşturuyoruz.

Resimlerin belirttiğiniz XML formatına uygun olarak yerleştirildiğini, XML formatınızda bir sorun olmadığından emin olduğunuzda hazırladığınız Flash uygulamasını derleyerek kontrol edebilirsiniz.



[KickIt] [Dzone] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Etiketler: , ,


E-Posta | Permalink | Geri izlemeler | Yazi RSSRSS comment feed
5 Yorum

Yorumlar


msn indir

msn indir tarafindan 07.03.2010 22:54:59 tarihinde eklenmistir.

güzel paylaşım




güncel blog

güncel blog tarafindan 16.03.2010 11:47:15 tarihinde eklenmistir.

Tşkler Ertürk




Discount Perfume

Discount Perfume United Kingdom tarafindan 05.06.2010 19:00:15 tarihinde eklenmistir.

Helpful story. It really sums up the benefits of fish oil and Omega-3




fashion store

fashion store United Kingdom tarafindan 15.09.2010 23:20:40 tarihinde eklenmistir.

I just found your blog via Ask Jeeves, a really good read, thanks.




Yonkly

Yonkly United Kingdom tarafindan 03.10.2010 20:24:04 tarihinde eklenmistir.

I just found your blog via Google search, a really good read, thanks.



Yorum ekle


(Gravatar simgesini gösterecek)

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading