預加載進度條(preload)——基礎篇_Flash教程
推薦:做了個鼠標選定范圍的放大效果鼠標拖動畫一個框,然后滾輪放大框內的圖片范圍,動態設置圖片注冊點,圖片能比較準確地以選定范圍的中心為基準進行放大。for(vard:Number=1;d=0;d--){
剛開始學習flash的人對flash中的進度條都布滿了好奇,經常有人問 進度條怎么編寫的問題。
在這里,我對進度條的編寫作了一些總結,希望對有需求的朋友有所幫助,非凡是那些初學者,希望他們在讀完這篇文章后有所收獲。當然,對那些高手來說未必沒有一點用處,也許會有些意外收獲喲。
注重:具體問題具體分析,并不保證所有情況下都適用
言歸正傳,從最簡單的開始
所謂最簡單的其實就是擺放那里的一個假的進度條,你可以作一個mc后者直接在貞里畫,把它放在動畫的最前面就行了,哈哈沒想到吧,其實這種方法在早期swf文件比較小的情況下,確實是個不錯的選擇,但隨著flash技術的發展,以及swf文件體積的大增,這種方法基本上已經被棄用。這里就當是一個小插曲讓大家放松一下,其實做進度條沒什么難的,接下來我們正是開始用as編寫進度條。
首先我們來學習一下單一flash文件內部加載進度條的制作:
0,將要加載進度條的文件打開
1,將所有放置元件的的層在時間軸上的貞,向后移兩貞(當然假如你沒有做其他的動畫,就直接插入兩個要害貞就完了)
2,在第一貞處放置進度條元件,在這里我們是用一個名為preloader的mc(一個長方形的元件,記住注冊點在左,或左上角);
3,在第一貞處添加代碼
var amountLoaded:Number = _root.getBytesLoaded()/_root.getBytesTotal();
prelaoder._xscale = amountLoaded*100;//進度條的寬度
//當然你也可以在這里加一些動態文本之類的標示百分比什么的,在此不再贅述
4,在第二貞處加如下代碼
if(_root.getBytesLoaded() == _root.getBytesTotal()){
gotoAndPlay(3);//播放結束,繼續后面動畫
}else{
gotoAndPlay(1);//播放未結束,繼續回第一貞
}
到此,第一種用代碼加載進度條的方法就完成了,很簡單吧。
讓我們繼續往下講,
第一種方法這么簡單,為什么還要繼續說別的方法呢?這里我們就要說到上一種方法的缺點了
問題出現了:假如在舞臺上添加了組件或其他延展類(具體問題具體分析),前面的方法將不起作用。
解決辦法:將組件連接屬性中的第一貞導出取消,發布選項中選導出從第2貞,將組件放在第二貞(或有命名的貞)
并在第二貞加上stop();(注重 本文沒有非凡說明是所有腳本都是寫在單獨的as層,即寫在貞上);
在第一貞加代碼,
this.onEnterFrame = function(){
var amount:Number = this.getBytesLoaded()/this.getBytesTotal()*100;
preloader._xscale = amount;
if(amount == 100){
this.gotoAndPlay(2);//假如是命名的貞,則改成此貞
delete this.onEnterFrame;
}
}
好了,關于進度條的基礎篇我們就說到這里
分享:Flash AS制作一個鉛筆畫圖程序先看效果:點擊這里下載源文件制作非常簡單,新建立文檔,然后按CtrlJ修改屬性。按CtrlR導入一幅圖片,或者自己繪制一幅鉛筆圖。按F8轉變為元件。為該元
- 相關鏈接:
- 教程說明:
Flash教程-預加載進度條(preload)——基礎篇
。