Flash中製作帶有播放進度條的動畫,可拖拽
工具/原料
Flash,AS2.0
步驟/方法
先插入一個影片剪輯,在影片剪輯內製作一段動畫,時間可長一些。回到場景,圖層1將動畫從庫中拖入到場景中,並設置實例名稱為:yp_mc
插入-新建元件-影片剪輯,然後在裡面畫一個進度條,注意進度條的最左邊要和影片剪輯的中心對齊,高度要在正中(x座標為0,y座標為矩形的正中位置)
回到場景,新建圖層2,將進度條拖入場景中,擺好位置,並設置其實例名稱為:blt_mc
新建影片剪輯,畫一個小滑塊,位置在正中。
回到場景,新建圖層3,放入小滑塊,位置要和進度條的最左邊位置重合(滑塊和進度條的x座標要相同),然後設置滑塊的實例名稱為:hk_mc
新建圖層4,添加一個動態文本框進來,放在進度條的右邊,用以顯示動畫播放進度的百分比。動態文本框設置實例名稱為:num
新建圖層5,在這一幀設置幀動作:
l = blt_mc._x;
r = l+blt_mc._width;
h = blt_mc._y;
hk_mc.onEnterFrame = function() {
this._x = blt_mc._x+int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
pp.text = int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
kk = int((hk_mc._x-blt_mc._x)/blt_mc._width*100);
num.text = kk+"%";
};
hk_mc.onPress = function() {
startDrag(this, false, l, h, r, h);
delete hk_mc.onEnterFrame;
};
hk_mc.onRelease=function () {
stopDrag();
kk = int((hk_mc._x-blt_mc._x)/blt_mc._width*100);
num.text = kk+"%";
rr = int(yp_mc._totalframes*kk/100);
yp_mc.gotoAndPlay(rr);
hk_mc.onEnterFrame = function() {
this._x = blt_mc._x+int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
pp.text = int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
kk = int((hk_mc._x-blt_mc._x)/blt_mc._width*100);
num.text = kk+"%";
};
};
hk_mc.onReleaseOutside=function () {
stopDrag();
kk = int((hk_mc._x-blt_mc._x)/blt_mc._width*100);
num.text = kk+"%";
rr = int(yp_mc._totalframes*kk/100);
yp_mc.gotoAndPlay(rr);
hk_mc.onEnterFrame = function() {
this._x = blt_mc._x+int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
pp.text = int((blt_mc._width/yp_mc._totalframes)*yp_mc._currentframe);
kk = int((hk_mc._x-blt_mc._x)/blt_mc._width*100);
num.text = kk+"%";
};
};
注意事項
滑塊和進度條在影片剪輯中的位置一定要擺放好,x座標要設置正確。