摘要:制作鋼琴動畫的方法很多,但是使用Flash可以說是一種通用的非常有效的方法。使用Flash制作鋼琴動畫,不僅可以實現簡易鋼琴的功能,而且界面更加美觀、生動,充分發揮了Flash軟件的優勢。
關鍵詞:影片剪輯;元件;關鍵幀
中圖法分類號:TP319文獻標識碼:B文章編號:1009-3044(2008)08-10ppp-0c
1 引言
通過各種渠道,相信大家多多少少都見過一些樂器軟件吧?比如鋼琴。當然了,制作的方法也是各種各樣。比如,可以使用匯編語言、C語言等設計相關的程序,也可以使用Authorware,Flash等多媒體軟件制作。其中,Flash軟件是Macromedia公司推出的一款矢量圖形編輯和動畫創作軟件。用Flash制作鋼琴動畫,不僅可以實現簡易鋼琴的功能,而且界面更加美觀、生動,充分發揮了Flash的優勢。本文的制作方法就是采用Flash,使用的版本是Flash MX。
2 用Flash MX制作簡易鋼琴的功能
第一,使用鼠標單擊鋼琴的相應按鍵,不僅會發出真實的聲音,而且琴鍵被按下的動畫也會出現。
第二,如果使用鍵盤,可以由相應的按鍵控制鋼琴的發音。
3 前期準備工作
3.1 鋼琴框架
在制作Flash鋼琴動畫之前,首先看要有鋼琴的框架作為創作的基礎。我們可以通過互聯網下載鋼琴的實例圖片導入Flash MX庫中,直接使用。當然了,你也完全可以通過Flash軟件直接繪制出獨具特色的個性鋼琴框架。做好了鋼琴框架以后,把它放到主場景第一層的第一幀中即可。
3.2 鋼琴按鍵的聲音
在本例中,因為是簡易的鋼琴動畫,涉及到白鍵和黑鍵,因此聲音收集了48種,聲音收集的途徑可以是互聯網,也可以是自己錄制。總之,收集好了以后,把這48種聲音統統導入Flash MX庫中,供以后使用。
4 制作影片剪輯
有了鋼琴的框架以后,就要增加白鍵和黑鍵了。(本例中白鍵28個,黑鍵20個)因為在本例中,需要實現琴鍵被向下按的動畫效果,因此要將白鍵和黑鍵設置為影片剪輯。
4.1 制作白鍵影片剪輯
新建一影片剪輯,命名為“白鍵”,然后在第一幀繪制一黑色邊框、白色填充的矩形作為白鍵。
在第二幀按F6鍵,插入關鍵幀,復制一白鍵。但是這里要將白鍵的位置做一些小的變動:整體向下移動一些。這樣做的目的是為了使得琴鍵被按下后在視覺上產生較為逼真的效果。此外,還要在該幀插入鍵盤上最左端白鍵的聲音“超低 1.mp3”,同時在屬性面板中將其設置為“事件”,重復為“0”。
之后進入第三幀的設置,基本和第二幀一致。只不過是在該幀插入的聲音為“超低2.mp3”,其他設置不變。
剩下的第四幀、第五幀……第二十九幀都重復相同的操作,這樣做的目的就是將白鍵的28種聲音全部放到按鍵上,便于以后的調用。
當然,最后不要忘記在每一幀上添加代碼:stop( ),以使得動畫開始時白鍵處于靜止的初始狀態。制作效果如圖1所示:

圖1 白鍵影片剪輯
4.2 制作黑鍵影片剪輯
新建一影片剪輯,命名為“黑鍵”,在第一幀繪制一具有立體感的黑色矩形,作為黑鍵的初始狀態。剩下的工作就和制作白鍵一樣了,只不過因為黑鍵是20個,所以只要從第二幀到第二十一幀添加關鍵幀并插入相應的按鍵音即可。制作效果如圖2所示:

圖2 黑鍵影片剪輯
5 制作相關按鈕元件
鋼琴的框架有了,聲音有了,按鍵也有了,剩下的就是要添加控制按鍵影片剪輯發出聲音的按鈕了。
新建一按鈕元件,將其命名為“白鍵按鈕”。可以將其響應區設置為和白鍵一樣的大小,這樣的話,能夠確保單擊白鍵時,不會發錯聲音。
制作黑鍵的按鈕元件方法與之一樣。
6 主場景的編排
輔助的工作做好以后,下面就來對主場景進行編排。返回主場景,再插入四個圖層,自下而上依次命名為“白鍵”、“白鍵按鈕”、“黑鍵”和“黑鍵按鈕”。
從庫中拖出 28 個影片剪輯 “白鍵”,分別放在鋼琴框架的合適位置,并且給這28個實例分別命名為:
1do; 1re; 1mi; 1fa; 1so; 1la; 1si;
2do; 2re; 2mi; 2fa; 2so; 2la; 2si;
3do; 3re; 3mi; 3fa; 3so; 3la; 3si;
4do; 4re; 4mi; 4fa; 4so; 4la; 4si。
如果大小出現問題,可以調整其形狀,直到合適為止。
在“白鍵按鈕”層的第一幀存放“白鍵按鈕”元件,并且從庫中拖入28個該按鈕元件分別覆蓋于白鍵元件上。這里要注意的是要將按鈕元件的的Alpha值設為“0%”,這樣的話,按鈕就會變成透明狀,而不會蓋住白鍵。
以同樣的方法在“黑鍵”和“黑鍵按鈕”層分別拖入20個“黑鍵”影片剪輯和20個“黑鍵按鈕”元件,并將按鈕的Alphs值也設置為“0%”。此時,給這20個黑鍵實例分別命名為:
5do; 5re; 5fa; 5so; 5la;
6do; 6re; 6fa; 6so; 6la;
7do; 7re; 7fa; 7so; 7la;
8do; 8re; 8fa; 8so; 8la。
7 添加腳本語言
7.1 控制白鍵聲音
選中“白鍵按鈕”圖層,給第1個按鈕元件添加動作。打開動作面板,輸入如下Action語句:
on (press) {
1do.gotoAndStop(2);
}
on (release) {
1do.gotoAndStop(1);
}
單擊第2個按鈕元件,在動作面板中輸入:
on (press) {
1re.gotoAndStop(3);
}
on (release) {
1re.gotoAndStop(1);
}
單擊第3個按鈕元件,在動作面板中輸入:
on (press) {
1mi.gotoAndStop(4);
}
on (release) {
1mi.gotoAndStop(1);
}
以此類推,最后單擊第28個按鈕元件,在動作面板中輸入:
on (press) {
4si.gotoAndStop(29);
}
on (release) {
4si.gotoAndStop(1);
}
7.2 控制黑鍵聲音
選中“黑鍵按鈕”圖層,給第1個按鈕元件添加動作。打開動作面板,輸入如下Action語句:
on (press) {
5do.gotoAndStop(2);
}
on (release) {
5do.gotoAndStop(1);
}
單擊第2個按鈕元件,在動作面板中輸入:
on (press) {
5re.gotoAndStop(3);
}
on (release) {
5re.gotoAndStop(1);
}
單擊第3個按鈕元件,在動作面板中輸入:
on (press) {
5fa.gotoAndStop(4);
}
on (release) {
5fa.gotoAndStop(1);
}
以此類推,最后單擊第20個按鈕元件,在動作面板中輸入:
on (press) {
8la.gotoAndStop(21);
}
on (release) {
8la.gotoAndStop(1);
}
好了,到這里工作基本已經完成了。因為Flash動畫是逐幀播放的,因此不要忘記在主場景任意圖層的第一幀添加代碼:stop( )。測試一下影片看看吧!這時一個簡易的鋼琴就可以通過鼠標控制奏出美妙的旋律了。
8 鍵盤控制琴鍵
以上操作可以實現鼠標控制琴鍵發聲,如果感興趣的話,也可以改成用鍵盤去控制。這里就不詳細講解了,只做簡單介紹。
為了實現相應鍵盤事件,以按鍵“1”實現發出聲音1do為例,需要為鍵盤添加如下腳本代碼:
on(keyPress”1”)
{
TellTarget(“/music1”){ // music1為聲音實例名稱
Play( );
}
}
其他按鍵以此類推,其實這些腳本比較簡單,只是當用戶按下鍵盤上的相應按鍵后,就激發影片中相應的實例,插入的實例就會發出相應的聲音來。
這下再保存文件,導出影片看看效果吧,是不是更好了?如圖3所示:

圖3 鋼琴效果圖
9 結束語
制作鋼琴動畫的方法的確很多,在本例中所使用的基于Flash MX的方法經導出影片后效果不錯,該方法可以說是一個通用有效的方法。在該方法中,涉及到的程序代碼較少,而且代碼的邏輯也比較簡單,即使是不擅長編寫程序者操作起來也不困難。總之,你可以充分發揮自己的想象力,做出更具特色的、更多功能的樂器。
參考文獻:
[1]陳冠竹.Flash MX 2004互動設計[M] .北京:科學出版社.
[2]劉旭東.Flash MX 2004動畫制作實戰指南[M].上海:上海科學技術出版社.
[3]馬龍工作室.Flash MX ActionScript 實用字典[M].北京:機械工業出版社.