Académique Documents
Professionnel Documents
Culture Documents
20Des07
Membuat aplikasi atau animasi Flash yang ditujukan untuk disimpan di website, tidak sebebas membuat Flash untuk desktop (dari Harddisk atau CD). Masalahnya, kecepatan transfer datanya jauh berbeda kalau langsung baca di harddisk dibandingkan lewat jaringan internet (apalagi bagi para fakir bandwith ). Maka dari itu umumnya Flash yang ada di internet menggunakan tampilan awalnya tulisan loading. Karena file swfnya harus diload dulu sama si browser, kalau buka website HTML kan diload juga ya? cuman karena isinya tulisan jadi loadingnya cepet (karena cuma sekian KiloByte), beda kan kalau isinya full gambar atau full flash? cmiiw. Tujuan utama preloader sih sederhana: supaya orang yang mengakses halaman Flashnya itu tau kalau Flashnya sedang diload dulu. Bayangkan kalau tidak ada preloader, mungkin orang itu mengira halamannya kosong, padahal itu karena loading halaman Flashnya belum selesai. Akan lebih baik lagi kalau ada keterangan progress loading swf-nya. misalkan ada keterangan yang diload sudah sekian % (persen), atau sekian KiloByte dari sekian KiloByte, atau ada animasi yang merepresentasikannya (yang paling sederhana seperti progress bar), dll.
Untuk latihan ini mah, buat yang sederhana aja dulu jadi di tampilannya ada progress bar dan tulisan loading sekian %-nya. Pertama untuk progress bar-nya buat dulu movieclip (klik menu insert>new symbol>movieclip>beri nama). Kemudian copykan ke stage, di propertiesnya beri movieclip tersebut instance name yg unik (nama instance ini nanti akan dipanggil di actionscript, misalkan di Flash yg saya buat namanya mc_bar). Kedua untuk tulisan loadingnya buat sebuah dynamic text, beri variable-nya (disini misalkan nama variabelnya teks_persentase).
view plaincopy to clipboardprint? 1. 2. stop(); //supaya berhenti di frame 1 ini 3. 4. // deklarasi variabel (optional, ga perlu sebenarnya) : 5. var ukuranTerload:Number; 6. var ukuranTotal:Number; 7. var teks_persentase:String; 8. 9. /* ************************************************* 10. // fungsi onEnterFrame berikut akan dieksekusi berulang2 11. // selama movie ini masih berada di Frame 1 12. // kemudian jika byte yg sudah diload = total byte 13. // maka movie akan pindah ke Frame 2, gotoAndStop(2) 14. *********************************************** */ 15. 16. onEnterFrame = function() 17. { 18. ukuranTerload = getBytesLoaded(); 19. ukuranTotal = getBytesTotal(); 20. teks_persentase = "Loading " + Math.round(1000*(ukuranTerload/ukuranTotal ))/10 + "%"; 21. mc_bar._xscale = 100*ukuranTerload/ukuranTotal; 22. if(ukuranTerload == ukuranTotal) 23. { 24. gotoAndStop(2); 25. } 26. }
Sedikit keterangan tentang script diatas, fungsi getBytesLoaded() akan mereturn jumlah byte yang sedang didownload, fungsi getBytesTotal() akan mereturn jumlah byte total file tersebut. Math.round itu untuk convert angka desimal ke integer terdekat (sengaja Saya buat begitu supaya ada angka dibelakang koma 1 digit ). Terakhir, property _xscale itu untuk resize ukuran movieclip mc_bar sesuai total persentasenya. Terakhir, mengingat prinsip utama preloader, jangan berikan animasi berat2 untuk preloadernya, karena kalau gitu mah sama aja dengan loading preloader tapi ok juga: preloader dari preloader.
#3 Simulasikan Streamingnya
Untuk melihat hasil Flashnya, klik menu control>test movie (atau tekan ctrl+enter). Langsung ke Frame 2? tidak kelihatan waktu loadingnya? Hehehe. untuk membuat simulasinya, setelah keluar movie hasil Flashnya tersebut, klik menu view>download settings>terus pilih koneksi yg mau disimulasikan, kemudian pilih menu>view>simulate download, dan Jreng 3x semakin lemot koneksi yg dipilih, semakin lambat si progress bar-nya penuh. Ya, hasilnya nanti kira-kira seperti inilah: