Flash動畫—單擺的制作教程_Flash教程
推薦:Flash動態緩沖圖片導航制作詳解緩沖公式在制作特效中非常有用,聞名的三星導航菜單就用到了此公式。現在許多網站出盡風頭,其中緩沖導航是其一大亮點。本文以一德國網站的導航為例,詳解緩沖
想起當初作這個動畫時,真是不知如何下手,所以,這是一篇獻給初學者的教程的單擺動畫的制作,應該要解決兩個方面的問題:
一、單擺本身的制作,這一點只要用好flash的繪圖工具即可
二、單擺振動,這一點將是教程的重點也是難點
下面就先解決第一個問題,制作單擺(這一步的制作注重注冊點的選擇)首先要弄清,單擺有三部分組成:擺線、擺球、懸掛點(天花板)
(一)、擺線:
1、選取工具區的線條工具,線條粗細默認,在主場景按住Shifi鍵向下畫一條適當長度的線段。
2、選中線段,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,把它轉化為影片剪輯
(二)、擺球:
1、選取工具區的橢圓工具,按住Shifi鍵,在主場景畫出一個圓,
2、打開主場景右邊的選項欄,選擇顏色-混色器,設置如圖,
為擺球選擇一種填充色(當然你也可以在左邊的顏色選取區選擇),選擇工具選取區的油漆桶工具,為擺球填色
3、選中小球,右鍵—轉化為元件-影片影剪輯,其參數按圖中設置,把它轉化為影片剪輯
4、為它加點效果吧:選中小球,打開工作區下方的濾鏡選項(flash8.0),加點投影效果,設置如圖
效果如圖
(三)懸掛點(天花板thb)
選取工具區的線條工具,線條粗細默認,在主場景按住Shifi鍵水平畫一條適當長度的線段作為天花板,同樣按住Shifi鍵畫一條斜向的線段,利用復制、粘貼功能,作出許多斜線,組合成天花板的示意圖,選中這些線段,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,
把它轉化為影片剪輯,效果如圖,
至此,基本的元件制作完成,接下來是組合單擺了:
1、刪除主場景中的所有元件,在第一幀先拖人擺線,再拖人擺球(目的是讓擺球在擺線上層),調整位置,并在其屬性欄中分別命名為bq、bx,如圖
2、同時選中擺線、擺球,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,把它轉化為影片剪輯,做成單擺,
再把天花板元件拖入,組成完整的單擺,效果如圖
單擺的制作到此結束(喝口水先)
接下來解決第二個問題,讓單擺動起來
這里要用到物理的單擺周期公式 和振動方程x=Acos(ωt α),但我們知道,單擺的振動實際是在一段圓弧上進行的,也就是說,在一段圓弧上運動同時其x要滿足振動方程x=Acos(ωt α),如何實現呢,先看一個圖
物理學里有一個要求,那就是單擺擺動的圓心角不能太大,一般不超過10度,否則就不是簡諧運動,據此,我們處理的時候干脆把圓弧(BDC)當作直線(BOC)處理,好,要害步驟來了,從圖中可知,單擺擺過角度BAO時,水平方向的距離為BO,對應的角度b=arcsin(BO/AB),AB為擺長,x=BO,而這個就是單擺所要旋轉的角度,好了,我們可以為單擺加代碼了
1、把單擺所在的層命名為單擺吧
2、新加兩層。一層命名按鈕,用來放控制按鈕,一層命名As,在As層加入代碼
//初始化:a0為初相,A為振幅,g為重力加速度
a0 = 90;
t = 0;
A = 20;
g = 9.8;
//l為擺線的長度
l = db.bx._height;
//周期T為單擺的周期公式
T = 2*Math.PI*Math.sqrt(l/g);
//進入幀要執行的動作
this.onEnterFrame = function() {
//先作一個判定,假如m=1,再執行,這一步是為了控制他而作的
if (m == 1) {
//振動方程
x = A*Math.cos(2*Math.PI*t/T a0);
//用反三角函數算出旋轉的角度
b = Math.asin(x/l);
//每執行一次函數,t加0.5(經驗值)
t = 0.5;
//把單擺旋轉,由于反三角函數算出的是弧度,故把它轉換為角度
db._rotation = b*180/Math.PI;
}
};
這樣,測試時單擺肯定時不動的,因為m的值沒有定義,我們必須在按鈕層拖入兩個按鈕:窗口-公用庫-按鈕,自己選吧,在控制開始的按鈕上加入代碼
on (press) {
m = 1;
}
在控制停止的按鈕上加入代碼
on (press) {
m = 0;
}
大功基本構成,附上源文件
但實際上我們還希望能改變其擺長L,改變g,這時我們可以再作一個可移動的按鈕,這里我不想羅嗦了,直接從庫里拖一個出來就夠了:窗口-公用庫-按鈕,自己找吧(我選的是fader – round按鈕),把他們放在按鈕層,這時這個按鈕已在我們源文件的庫中有了,選中它,點右鍵—直接復制,復制出另一個,也拖人按鈕層,這時,我們就有了兩個可以移動的按鈕,用來改變L和g,由于我選的是fader – round按鈕,它有一個標簽,雙擊按鈕,進入改變其標簽名,結果如圖
還沒有完,因為他們都沒有名字呢,選中L按鈕,在屬性欄命名為lk(控制L的意思),雙擊lk按鈕,進入下一層,看其屬性,你會發現滑塊是有名字的,如我選的是fader – round按鈕,滑塊名為knob,改為lk0好了同理,選中g按鈕,命名為gk(控制g的意思),雙擊gk按鈕,進入下一層,選中滑塊改為gk0,快了,別忘了,改你的代碼哦
//初始化
a0 = 90;
t = 0;
A = 20;
m = 0;
db._rotation = 0;
this.onEnterFrame = function() {
//把控制按鈕lk中的lk0按鈕的y坐標+80作為擺長變化的百分比,由于lk0按鈕的y坐標初時值是0,故加80,否則開始擺長就為0了
l = lk.lk0._y 80;
//把db中的bx電影剪輯在其y方向上伸縮L倍
db.bx._yscale = l;
//把擺線的長度賦值給h
h = db.bx._height;
//擺球的位置也相應變化,其位置應該在擺線的注冊點往下+擺線的長度的地方
db.bq._y = h db.bx._y;
//把控制按鈕gk中的gk0按鈕的y坐標+9.80作為g,由于gk0按鈕的y坐標初時值是0,故加9.80,使其初始值為9.80,否則開始g就為0了
g = gk.gk0._y/10 9.8;
//單擺的周期公式
T = 2*Math.PI*Math.sqrt(l/g);
//假如m=1執行
if (m == 1) {
//振動方程
x = A*Math.cos(2*Math.PI*t/T a0);
//用反三角函數算出位移為x對應旋轉的角度
b = Math.asin(x/l);
//時間改變
t = 0.5;
//把單擺旋轉b*180/Math.PI,原因是b是弧度制的,把它化成角度制
db._rotation = b*180/Math.PI;
}
};
分享:Photoshop與Flash合作制作模糊漸變動畫在一些片頭動畫里我們經常能看到很炫的模糊效果,極具視覺沖擊。高質量的模糊效果大多利用Photoshop處理后才導入flash中進行制作。其實,在Flash中也可以利用其
- 相關鏈接:
- 教程說明:
Flash教程-Flash動畫—單擺的制作教程。