*/
//Gerekli kütüphaneler
import flash.display.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.text.TextField;
import fl.transitions.*;
import fl.transitions.easing.*;
//Dışardan bilgileri alacağımız xml dosyasına bağlanıyoruz.
var disXML:XML;
var XMLYuk:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(”liste.xml“);
XMLYuk.load(request);
XMLYuk.addEventListener(Event.COMPLETE, Tamamlanan);
//XML nesnesi yüklemesi tamamlandığında aşağıdaki fonksiyon çalışıyor. <_script /><_script />
function Tamamlanan(event:Event):void
{
var XMLYuk:URLLoader = event.target as URLLoader;
//değişkene xml verisini yükledik.
disXML = new XML(XMLYuk.data);
//resimler arası bekleme süresini de xml den okutuyorum.
var bekleme=disXML.bekleme;
//xml dosyasından kaç resim olduğunu okuyorum.
var resAdet=0;
for each (var resimAdi in disXML.resim)
{
resAdet+=1;
}
//ilk resmi direk gösteriyorum çünkü zaman ölçmeye başladığımda bekleme süresi kadar boş kalıyor.resimGoster(0, disXML.resim [0].@baslik);
//Zaman değişkeni bekleme süresini resim sayısı kadar tekrarlayacak.var Zaman:Timer = new Timer(bekleme*1000, resAdet-1);
Zaman.addEventListener(TimerEvent.TIMER, Degis);
Zaman.start();
//Zaman değişkeni her tetiklendiğinde çalışacak fonksiyon
function Degis(event:TimerEvent):void
{
//resim gösterme fonksiyonunu çağırırken xml veri indeksini zaman nesnesinin tetiklenme sayısı ile çağırtıyorum.
//resim başlıklarını da kullanımını görmek açısından farklı bir şekilde çağırttım.
resimGoster(event.target.currentCount, disXML.resim[event.target.currentCount].@baslik);
}
}
//her zaman tetığinde gösterilecek resim aşağıdaki fonksiyon ile çağırılıyor
function resimGoster(no, yazi)
{
//her resim için yeni movieclip nesnesi oluşturuyoruz.
var resim:MovieClip = new MovieClip();
//resmi sahneye ekliyoruz
addChild(resim);
var resYuk:Loader = new Loader();
//fonksiyona dışarıdan gelen resim indexi ile xml dosyamızdan resmin yolunu alıyoruz
var resUrl:String = disXML.resim[no];
//resim yolunu url isteğine tanıtıyoruz
var resUrlIst:URLRequest = new URLRequest(resUrl);
//ve resimi nesneye yüklüyoruz
resYuk.load(resUrlIst);
//resim yükleyicisi nesnemize yeni olay dinleme nesnesi oluşturuyoruz
resYuk.contentLoaderInfo.addEventListener(Event.COMPLETE, resimYukle);
//ve yukarıda belirttiğimiz resimYukle fonsiyonunun içeriği<_script /><_script />
function resimYukle(event:Event):void
{
//sahneye eklediğimiz resim nesnesine resimyükleyici nesnesinin içeriğini atıyoruz.
//bu adımda resim sahnede görünecektir, fakat öncesinde hemen altındaki özellikleri kazanarak görüntülenecek
resim.addChild(resYuk.content);
//aşağıdaki iki satır resmi sahne genişliği ve yüksekliğine eşitliyor.
//aslında bu yöntem resimlerde bozulmalara yol açacaktır, bunu önlemek için kullanacağınız resimleri bir resim işleme programı ile sahne boyutuna getirebilirsiniz.
resim.width=stage.stageWidth;
resim.height=stage.stageHeight ;
//resimlerin sahneye geçişli bir şekilde gelmesini sağlayan satır.(tabi yukarıda eklediğimiz kütüphaneler sayesinde)
TransitionManager.start(resim, {type:Fade, direction:Transition.IN, duration:9, easing:Strong.easeOut });
}
//resim başlıkları için yeni yazı alanı oluşturuyoruz
var Baslik:TextField = new TextField();
Baslik.text = yazi;
//yazı alanı özellikleri
Baslik.autoSize=”center”;
Baslik.background=true ;
Baslik.backgroundColor=0xFFFFFF;
//sahnede yaklaşık olarak nesnemizi ortalıyoruz
Baslik.x=(stage.stageWidth/2)-50;
Baslik.y=stage.stageHeight-30;
//ve gösterime hazır nesnemizi sahneye ekliyoruz
addChild(Baslik);
}