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.
İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.
Makale
İlişkili makale bulunamadı.
Haber
İlişkili haber bulunamadı.
Ders
Etkinlikler
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
MMIstanbul Blog'undan
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)







