1 FL 教程Flash AS教程:圖片環繞旋轉動畫 周四 3月 03, 2011 6:50 am
Admin
Admin
本文介紹如何用Flash的AS代碼編寫圖片環繞旋轉效果。
新建FLASH文件, 修改-》文檔,把文檔的背景色改成黑色。CTRL F8新建元件text,在元件的幀上放13個要害幀,第一幀留空,在其他每個要害幀中輸入一個字母(顏色自定,不過不能是黑色),并用對齊面板把各個字母放到元件的舞臺的正中。
對齊面板的使用如圖:
代碼:stop();
這時的時間軸如圖:
退回場景1~把剛才新建的元件拖到舞臺中, 打開它的屬性面板,把實例名稱命名為 v0。 再新建元件【earth】
在元件的第一幀畫一個小圓『黑色』,和背景色一樣。 退回場景1, 把剛才新建的元件拖到舞臺中,打開它的屬性面板。把實例名稱命名為 earth
在場景1新建圖層,在新圖層第一幀輸入以下代碼:
for(i=1;i<13;i ){
duplicateMovieClip("v0","v" i,i);
_root["v" i].factor=-360/12*i;
_root["v" i].gotoAndStop(i 1);
} 選中元件 【text】,在動作面板輸入以下代碼:
onClipEvent (load) {
_root.earth.swapDepths(100);
speed = 3;
radius = 180;
}
onClipEvent (enterFrame) {
_y = _root.earth._y;
z = _root.earth._x-_root._xmouse;
speed = z/40;
factor = speed;
xtransform = Math.sin(Math.PI/180*factor);
ytransform = Math.sin(Math.PI/180*factor);
ytransformp = Math.sin(Math.PI/180*(factor 90));
this._xscale = ytransformp*120 1;
this._x = _root.earth._x xtransform*radius;
this._alpha = 10 (ytransformp 1)*50;
this._yscale = 120 (ytransformp-1)*2;
stack = Math.round((ytransform 1)*100);
this.swapDepths(stack);
} 這樣差不多就可以了。
擴展設計:
假如要變成圖片的環繞效果~只要把元件【text】中的字母換成圖片就可以了。
假如圖片太大或太小,請修改以上代碼中的radius = 180;這句~只要改變值180即可。
假如圖片不是12張~請修改元件【text】的幀數,第一幀照樣留空~修改第一段代碼for(i=1;i<13;i )中的13為圖片的張數加一。]
新建FLASH文件, 修改-》文檔,把文檔的背景色改成黑色。CTRL F8新建元件text,在元件的幀上放13個要害幀,第一幀留空,在其他每個要害幀中輸入一個字母(顏色自定,不過不能是黑色),并用對齊面板把各個字母放到元件的舞臺的正中。
對齊面板的使用如圖:
代碼:stop();
這時的時間軸如圖:
退回場景1~把剛才新建的元件拖到舞臺中, 打開它的屬性面板,把實例名稱命名為 v0。 再新建元件【earth】
在元件的第一幀畫一個小圓『黑色』,和背景色一樣。 退回場景1, 把剛才新建的元件拖到舞臺中,打開它的屬性面板。把實例名稱命名為 earth
在場景1新建圖層,在新圖層第一幀輸入以下代碼:
for(i=1;i<13;i ){
duplicateMovieClip("v0","v" i,i);
_root["v" i].factor=-360/12*i;
_root["v" i].gotoAndStop(i 1);
} 選中元件 【text】,在動作面板輸入以下代碼:
onClipEvent (load) {
_root.earth.swapDepths(100);
speed = 3;
radius = 180;
}
onClipEvent (enterFrame) {
_y = _root.earth._y;
z = _root.earth._x-_root._xmouse;
speed = z/40;
factor = speed;
xtransform = Math.sin(Math.PI/180*factor);
ytransform = Math.sin(Math.PI/180*factor);
ytransformp = Math.sin(Math.PI/180*(factor 90));
this._xscale = ytransformp*120 1;
this._x = _root.earth._x xtransform*radius;
this._alpha = 10 (ytransformp 1)*50;
this._yscale = 120 (ytransformp-1)*2;
stack = Math.round((ytransform 1)*100);
this.swapDepths(stack);
} 這樣差不多就可以了。
擴展設計:
假如要變成圖片的環繞效果~只要把元件【text】中的字母換成圖片就可以了。
假如圖片太大或太小,請修改以上代碼中的radius = 180;這句~只要改變值180即可。
假如圖片不是12張~請修改元件【text】的幀數,第一幀照樣留空~修改第一段代碼for(i=1;i<13;i )中的13為圖片的張數加一。]