ActionScript 3.0 Dersleri – Xml Kullanımı Resim Yükleme

ActionScript 3.0 Derslerimize Xml kullanımı ile devam ediyoruz şimdi yapacağımız uygulamada sitemden okunan gün değerine göre verilen listeden uygun olan resmin ekrana getirilmesini yapacağız, siz bu uygulamayı biraz daha geliştirip Xml resim galerisi yapabilirsiniz veya ilerleyen günlerde bu konu ile bir örnek yapıp ben eklerim siteye 🙂 neyse lafı fazla uzatmadan ActionScript 3.0 ile Xml kullanımı nasıl oluyormuş bakalım…
Çalışmanın Bitmiş Hali Aşağıda Sistem Tarihini Değiştirseniz veya Yarın Yine bu sayfayı ziyaret ederseniz resim değişecektir.. 🙂

1-İlk olarak bilgilerin okunacağı xml dosyamızı oluşturuyoruz.

<?xml version="1.0" encoding="utf-8"?>
<data>
<gun name="0">
<resim>gunresimleri/pazar.jpg</resim>
</gun>
<gun name="1"> 
<resim>gunresimleri/pazartesi.jpg</resim>
</gun>
<gun name="2">
<resim>gunresimleri/sali.jpg</resim>
</gun>
<gun name="3"> 
<resim>gunresimleri/carsamba.jpg</resim>
</gun>
<gun name="4"> 
<resim>gunresimleri/persembe.jpg</resim>
</gun>
<gun name="5">
<resim>gunresimleri/cuma.jpg</resim>
</gun>
<gun name="6">
<resim>gunresimleri/cumartesi.jpg</resim>
</gun>    
</data>

Sistem gününü okumak için kullanacağımız getDay(); fonksiyonunun sonucu 0-6 arasında bir sayı olduğu ve başlangıç tarihi pazar olduğu için Xml dosyamızdaki düğümleri < gun name="6" > olarak isimlendirdik ve her gün düğümünün içine o günün resminin yolunu resim etiketi ile ekledik < resim>gunresimleri/cumartesi.jpg< /resim> gibi

2-Xml dosyasını hazırladıktan sonra Ekranda görüntülenecek olan resimleri gunresimleri isimli bir klasör oluşturup içine atıyoruz.
gunler

3-Şimdi flasha geri dönüyoruz ve uygulamamızda resimleri görüntüleyeceğimiz boş bir film klibi oluşturup sahneye ekliyoruz ve ismini resim yapıyoruz.. Bu işlem için aşağıdaki resimlerdeki yolu izleyebilirsiniz
aktar

4-Ve Son Adım F9’a basıp kodlarımızı yazıyoruz

var tarih:Date = new Date();
var gun:int =tarih.getDay();
var xmldosyasi:URLRequest = new URLRequest("gunlistesi.xml");
var dosyayukle:URLLoader = new URLLoader();
dosyayukle.dataFormat = URLLoaderDataFormat.TEXT;
dosyayukle.addEventListener(Event.COMPLETE, ekrandagoster);
dosyayukle.load(xmldosyasi);
function ekrandagoster(evt:Event):void {
try {
var xmlbilgileri:XML = new XML(evt.target.data);
var liste:XMLList = xmlbilgileri.gun;
for (var i:uint=0; i<liste.length(); i++) {
if (liste[i].@name==gun) {				
var yeninesne:Loader = new Loader();
resim.addChild(yeninesne);
yeninesne.load(new URLRequest(liste[i].resim));
}
}
} catch (e:TypeError) {
trace("hata");
trace(e.message);
}
}

Kodları da kısaca açıklayalım

var tarih:Date = new Date();
var gun:int =tarih.getDay();

Sitem tarihini ve oradanda gün değerini alıp gun değişkenine aktardık

var xmldosyasi:URLRequest = new URLRequest(“gunlistesi.xml”);
var dosyayukle:URLLoader = new URLLoader();
dosyayukle.dataFormat = URLLoaderDataFormat.TEXT;
dosyayukle.load(xmldosyasi);

Yüklenecek olan xml dosyasının yolunu gösterip dosyayukle isimli nesnenin içine aktardık

dosyayukle.addEventListener(Event.COMPLETE, ekrandagoster);

Xml dosyasının dosyayukle nesnesine yüklenmesi tamamlanınca çalışacak olan fonksiyonun ekrandagoster olacağını söylüyoruz..

function ekrandagoster(evt:Event):void {
try {
var xmlbilgileri:XML = new XML(evt.target.data);
var liste:XMLList = xmlbilgileri.gun;
for (var i:uint=0; i<liste.length(); i++) {
if (liste[i].@name==gun) {				
var yeninesne:Loader = new Loader();
resim.addChild(yeninesne);
yeninesne.load(new URLRequest(liste[i].resim));
}
}
} catch (e:TypeError) {
trace("hata");
trace(e.message);
}
}

ekrandagoster fonksiyonu içinde xml dosyasını hazırlarken oluşturduğumuz gun düğümleri bir liste içine atıp bu listedeki gun değerlerinin name’i sistem gün bilgisine 0-1-2… eşit olanın resim bilgileri
var yeninesne:Loader = new Loader();
resim.addChild(yeninesne);
yeninesne.load(new URLRequest(liste[i].resim)); ile alıp ekranda gösteriyoruz..
Biraz karışık oldu sanırım ama anlaşılmayan bir yer varsa sorabilirsiniz…

Pin It on Pinterest