»
Ders II: Flash MX Simply Preloader.
|
| ActionScript ve Arşiv Bölümü Flash, Director, Live Motion Bölümünde önemli olduğunu düşündüğümüz mesajların toplandığı yeni bölüm. Arama motorundan daha eski mesajlara ulaşılabilir. |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 09.05.2005
Yer: Ankara
Yaş: 26
Mesaj: 148
|
Basit bir yükleme animasyonu oluşturmak için genelde bir movie clip oluşturulur ve ilk frame'e yerleştirilir. Bu movie clip gerekli yüklemeyi yaptıktan sonra flash sahnesi akmaya devam eder. Ancak movie clip içersindeki action script karmaşasını aşmak amacıyla ben ana zaman çizgisinde bir load control çalışmasını göstermeyi uygun buldum. Zaten buradaki mantığı algıladıktan sonra movie clip yöntemiyle preloader hazırlamak için yapmanız gereken tekşey flash içerisindeki ilişkilendirmeleri ve _root deyiminin ne işe yaradığını öğrenmektir. İlk önce flash'da boş bir çalışma açıyoruz. (Kısayol: CTRL + N) İlk frame'imize text aracı vasıtası ile (Kısayol: T) iki tane dynamic text field oluşturuyoruz. Bu işlemi Window --> Properties (Kısayol: CTRL+F3) ile gerçekleştirebiliriz. Daha sonra bu text field'lere sırasıyla yuzdetext ve toplam_kbayttext variable' larını veriyoruz. (Dikkat: Instance Name değil!) Timeline'da frame seçili iken F5 tuşu ile bu text field'ları koyduğumuz layer'ın 4. frame'e kadar sürmesini sağlıyoruz. Boş bir movie clip oluşturup; (Kısayol: CTRL + F8) adını Load Bar koyuyoruz. Sonra içine rectangle tool ile (Kısayol: R) 100 x 10 pixellik (isteğe bağlı olarak en & boy değişebilir.) bir dikdörtgen çiziyoruz. Dikdörtgenin yalnızca çizgi kısmını yani çerçevesini seçerek yeni açtığımız bir layer'a (Insert --> Layer) bu çerçeveyi yerleştiriyoruz. Timeline'da F5 tuşu ile yeni layerımızın 100. frame'e kadar uzamasını sağlıyoruz. Sonrasında dolgu kısmını seçerek F8 tuşuyla symbol haline getiriyoruz. İsmini Filling verelim. Load Bar movie clip'i içine dönerek 100. frame seçili iken Insert Keyframe (Kısayol: F6) yapıyoruz. Daha sonra birinci frame'e dönerek Filling adlı movie clip'imizin width değerini 1 pixel veriyoruz ve timeline'da birinci frame seçiliyken properties panelinden tween'ini motion rotate'sini ise none olarak ayarlıyoruz. Böylece 100 frame boyunca kendisini tamamlayan bir çizgi animasyonu elde ettik. Farklı bir layer tanımlayarak (Insert --> Layer) ardışık ve aralıksız dört blank keyframe oluşturuyoruz. (Kısayol: F7) Bunlardan ilkini boş bırakarak ikincisinden itibaren action script kodlarımızı yazmaya başlıyoruz. İkinci frame'e; Kod:
yuklenen_bayt = getBytesLoaded(); //yüklenen boyutu algılıyoruz.
toplam_bayt = getBytesTotal(); // toplam boyutu algılıyoruz.
kalan_bayt = toplam_bayt - yuklenen_bayt; //yüklenmesi gereken kalan boyutu algılıyoruz.
yuzde = int(yuklenen_bayt/(toplam_bayt/100)); //yuzde alma islemini gerçekleştiriyoruz.
tellTarget (loadbar) {
gotoAndStop(yuzde); //loadbar animasyonunda gidilmesi gereken frame'in numarasını yuzde adlı değişkenle ilişkilendiriyoruz.
}
Kod:
yuzdetext = yuzde add ' % '; //yuzdetext değişken adlı text'in % işareti ile görünmesini sağlıyoruz. toplam_kbayttext = Math.round((toplam_bayt/1024)) add " KB "; // KB Hesaplanırken matematiksel olarak yuvarlama işlemini yapıyoruz. Kod:
if (yuklenen_bayt == toplam_bayt) {
gotoAndPlay(5); //Eğer filmin tamamı yüklediyse 5. frame'e gitmesini söylüyoruz.
} else {
gotoAndPlay(1); //Şart sağlanmadıysa 1. frame'e gönderip loop ettirmiş oluyoruz.
}
Görüldüğü gibi 5. frame'den sonra başlayan önyükleme ekranına sahip bir filmimiz oldu. Bize kalan tek iş CTRL + S ile çalışmamızı kaydetmek. Hoş burada kaydedilmişi var.
__________________
Çocukken her sabah Tanrı'ya yeni bir bisiklet alması için dua ederdim.Ama sonunda insan Tanrı ilişkisinin böyle olmadığını anladım ve kendime yeni bir bisiklet çaldıktan sonra her sabah günahlarımın affedilmesi için O'na dua ettim. "Al Capone" flasher & eiNsteiN Mesaj flasher tarafından 19.05.2005 (14:48) yeniden düzenlendi.. Açıklama: Kimsenin görmediği bir hatamı gördüm :) |
|
|
|
Zoque'a hoşgeldiniz!