Konu Başlığı: AS2:Slideshow fonksiyonu
View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 06.04.2008   #6 (permalink)
perplex
 
perplex's Avatar
 
Üyelik Tarihi: 03.01.2007
Yer: istanbul
Yaş: 28
Mesaj: 184
Re: AS2:Slideshow fonksiyonu

selamlar

aşağıya genel bir slideshow fonksiyonunu yazıyorum . iyice anlaşılsın diye commentler de yazdım. kodlarını her zaman timeline frame 1 ' e yazmanı tavsiye ederim. bu yazdığımı da aynı şekilde.

PHP Code:
var currentImage:Number0// o anki resim
var imageArray:Array = []; // bütün resimlerin olacağı array 
var len:Number//imageArray'in length'i
var mcl:MovieClipLoader = new MovieClipLoader(); // malum

myxml = new XML();
myxml.ignoreWhite true;
myxml.load("menu.XML");
myxml.onLoad startSlideShow// malum fonksiyonlar

function startSlideShow() {
    
var 
total0 this.firstChild.childNodes.length// ana galeri sayısı

    
for (var 0i<total0i++) {
         var 
total1 this.firstChild.childNodes[i].childNodes.length;//alt galeri sayısı
         
for(j=0;j<total1;j++) {
            var 
total2 this.firstChild.childNodes[i].childNodes[j].childNodes.length// alt galerideki resimlerin sayısı
             
for(k=0;k<total2;k++) {
                   var 
obj:Object = new Object(); // geçici bir obje oluşturuyoruz. bu obje her resmin ana galerisini, üst galerisini ve ismini tutacak
                   
obj.m0 this.firstChild.childNodes[i].attributes.ad// ana galerisinin ismi
                   
obj.m1 this.firstChild.childNodes[i].childNodes[j].attributes.ad// bağlı bulunduğu bir üst galeri ismi
                   
obj.m2 this.firstChild.childNodes[i].childNodes[j].childNodes[k].attributes.adres// resmin adresi 
                   
imageArray.push(obj); // imageArray'i bu objeyle dolduruyoruz. böylece imageArray resim sayısı kadar objeyle dolmuş olacak.
             
}
          }
    }
    
len imageArray.length// arrayin uzunluğu
    
showImage(); // genel resim gösterme fonksiyonu
}

// burda bir karar vermen lazım .eğer resim sayısı azsa hepsini yükletip sonra bir daha yükleme yapmadan oynatabilirsin. ya da resimler sırayla yüklenir öyle geçer. ben sırayla yükleticem mesela.

// bir sonraki resim

function nextImage() { 
    
currentImage++; // sonraki resim için 1 arttırıyoruz değişkenimizi
    
currentImage%=len// eğer toplam resim sayısına ulaşmışsa başa dönmesi için değişkeni toplam resim sayısına böldürüp kalanına eşitliyoruz.
    
showImage(); // resmi göster
}

function 
showImage() {
    
stopInterval(); // intervali durduruyoruz. çünkü her resim yüklendikten ve gösterildikten sonra bir bekleme süresi olsun.
    
mcl.loadClip(imageArray[currentImage].m2img);//imageArray[currentImage].m2 bize o anki resmin adresini verir. img ise sahnede varsaydığım resimlerin gösterileceği movieclip
}

onLoadInit = function(mc:MovieClip) {
    
beginInterval(); 
}

function 
beginInterval() {
    var 
handle:Number setInterval(this"nextImage"3000); // this ile çalışıcağı alanın _root olduğunu belirtiyorum. nextImage fonksiyonunu 3000 miliseconds arayla çalıştırsın.
}

function 
stopInterval() {
    
clearInterval(handle); // intervali sil. 
}

mcl.addListener(this); // this ile _root ' u listener objesi olarak belirtiyorum. her movieclip sonuçta bir objedir. 
umarım yardımı olur . menü ya da buton kısımlarını da kendi çabana bırakıyorum
perplex şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin