Profili Göster

Kim Korkar Preloader'dan?

Engin Gündoğdu Tarih: 24/07/2008 Yorum: 0 adet

Okunma : 939 Tutanlar: Bu yazıyı 3 kişi tuttu.

Preloader(önyükleyici) Flash programını kullanmaya yeni başlayanların en çok zorlandıkları konulardan biridir. Programı kullananların karşılaştıkları ilk karmaşık kodlama diyebiliriz. Korkulacak kadar karmaşık olamadığını dersin sonunda sizlerde göreceksiniz.

Ülkemiz şartlarında internet hızının düşük olması nedeniyle çalışmalarımızın kullanıcı ekranına geç görüntülenmesi, ön yükleyicilerin önemini artırmaktadır. Peki önyükleyici ne işe yarar?

Çalışmamız yüklenirken kullanıcıya çalışma hakkında bilgiler sunabilir,ufak animasyonlarla site devamlılığını sağlayabiliriz.

Bu bilgileri verdikten sonra basit bir önyükleyici yapalım.

Flash programınızı açın ve file > new’i (ctrl+N) tıklayın. Shift +F2 tuşlarına basıp yeni bir scene oluşturun.

Sahneye birtane dynamic text oluşturun properties bölümünden (ctrl+F3) instance name alanına yuzde_txt yazın. Text içerik rengini siyah seçin. Timeline da ilk frame secip window>action(F9) action panelini açıp aşağıdaki kodları yazalım.

onEnterFrame=function(){
    var toplamBoyut:Number=_root.getBytesTotal();
    var yuklenenBoyut:Number=_root.getBytesLoaded();
    if(yuklenenBoyut==toplamBoyut){
        delete  onEnterFrame
        play();
    }else{
        var yuzde:Number=Math.floor((yuklenenBoyut/toplamBoyut)*100);
        yuzde_txt.text=yuzde
    }
}
stop();

İlk önce bahsi geçen kodların açıklamalarını yapalım.

onEnterFrame :Bir movie clip olay denetleyicisidir.Timeline çizgisinin her frame geçişinde çağrılır.

function() :Başlı başına bir konudur.Kısaca, sürekli kulanabileceğimiz kod bloglarını barındıran grublar olarak tanımlayabiliriz.

getBytesTotal() :MovieClip sınıfının bir metodudur.Toplam dosya boyutunu byte olarak gösterir.

getBytesLoaded() :MovieClip sınıfının bir metodudur.O ana kadar yüklenen dosya boyutunu byte olarak gösterir.

if :if değimi koşul belirtir. Koşulun gerçekleşmesi durumda bloğuna ait kodlar çalışacaktır.

else :if değimi ile belirtiğimiz koşulun gerçekleşmemesi durumunda else değiminin altındaki satırlar çalışacaktır

Math.floor : Sayıların ondalık kısımlarını yok sayar.

Şimdi kodların çalışma prensiplerini inceleyelim.

onEnterFrame [/b]olay denetleyicisi sayesinde fonksiyon altındaki satırların sürekli güncellenmesi sağlanıyor. Ana sahnemizdeki(_root)toplam dosya boyutunu toplamBoyut değişkenine atıyoruz. Yüklenen dosya boyutunu da yuklenenBoyut değişkenine atıyoruz. if değimi ile koşul belirtiyoruz.

Eğer bu iki değişken birbirine eşitse alt satırın çalışmasını sağlıyoruz. Alt satırımızda ise onEnterFrame olay denetleyicisini delete operatörü ile kaldırıyoruz ki system kaynaklarını zorlamasın. Play() komutu ile uygulamalarımızın bulunduğu scene 2 ye geçiyoruz.İf değimi ile sağladığımız koşul gerçekleşmezse, else değiminin altındaki satırlar çalışacaktır.

var yuzde:Number=Math.floor((yuklenenBoyut/toplamBoyut)*100);
        yuzde_txt.text=yuzde

yukardaki kod satırını matematiği iyi olanlar hemen kavrayacaklardır.Yinede ben değinmek istiyorum.Burada bir oranlama söz konusudur toplamBoyutta, yuklenenBoyut kadar yükleniyorsa,100’de ne kadar yüklenir.

Bu matematik işleminden dönen sonuçların ondalık kısımlarını Math sınıfının floor metodu ile kaldırıyoruz,bu sayede if şartı gerçekleşene kadar elimizde 1’den 100’e kadar tekrar eden sayıları elde ediyoruz.

onEnterFrame olay denetleyicisi sayesinde kod satırları her çalıştırıldığında, bu sayıları yuzde_txt’mize textfield sınıfının text özelliğini kullanarak yazdırıyoruz. En son olarakda stop() komutu ile flash movienin çalışır çalışmaz oynamamasını sağlıyoruz. Eğer yükleme gerçekleşirse play() komutu ile timeline çizgimiz sahne 2 ye geçecektir.

Ctrl +Enter tuş kodlaması ile çalışmamızı test edelim. Sahnede 100’e kadar sayan sayıları göremeyeceksiniz. Ön yükleyicimizi test etmek için internet ortamına atmalısınız ya da Ctrl + Enter tuşlarına bastıktan sonra çıkan animasyon penceresinden wiew>Sımulate Downloand tıklarsanız önyükleyiciyi test edebilirsiniz.

Korkulacak hiçbir şey olmadığını hep beraber gördük. En alt seviyede anlatmaya çalıştım. Sonraki dersimizde animasyonlu ön yükleyiciler nasıl yapılır?

Karşılaşılan sorunlar nelerdir?Bu soruların cevaplarını hep birlikte çözeceğiz.

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.


yeni üyelik | şifremi unuttum

aç-kapa Yarışma 6. İstanbul Uluslararası Animasyon Festivali (IAFISTANBUL) Yarışması

6. İstanbul Uluslararası Animasyon Festivali (IAFISTANBUL) Yarışması

13-22 Kasım 2009 tarihleri arasında düzenlenecek 6. İstanbul Uluslararası Animasyon Festivali için film yarışması başvuruları başlamıştır. Herkese ...
Kategori: Yarışma

aç-kapa Yarışma SKF Türk 7.Ulusal Fotoğraf Yarışması

SKF Türk 7.Ulusal Fotoğraf Yarışması

Konusu: 2010 yılını Avrupa Kültür Başkenti olarak kutlayacak olan İstanbul’un katılmcılar gözüyle görsel bir belgesini ortaya çıkarmak amacıyla ...
Kategori: Yarışma

aç-kapa Kongre 4. Ulusal Tasarım Kongresi: Tasarım veya Kriz

4. Ulusal Tasarım Kongresi: Tasarım veya Kriz

Türkiye’deki tüm tasarım araştırmacıları, akademisyenleri, tasarımın pozitif katkısı üzerine kafa yoran herkes "tasarım veya kriz" baş...
Kategori: Kongre

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 387 (2 kayıtlı, 385 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

Nuh aydeniz ...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul’da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu