前言:一個(gè)好的Flash作品,缺少了聲音,就如同人不會(huì)講話一樣。而Flash中對(duì)聲音的支持也非常不錯(cuò),除了可以使用時(shí)間軸放置聲音文件之外,我們還可以使用AS來更加準(zhǔn)確的控制聲音!
一、FLASH中如何創(chuàng)建聲音控件
如果想控制動(dòng)畫中的聲音,我們可以使用Flash中的sound對(duì)象,通過sound命令創(chuàng)建一個(gè)新的sound對(duì)象。之后再用attaceSound命令連接到庫里的聲音,就可以用來控制動(dòng)畫中的聲音了。
常用命令講解:
new Sound() 此命令用來創(chuàng)建一個(gè)新的sound對(duì)象,有了sound對(duì)象我們才能用AS來控制聲音。
attachSound("庫中的聲音") 此命令可以使我們創(chuàng)建的聲音對(duì)象連接到庫里的聲音,以便進(jìn)行控制。
start([從第幾秒開始播放, 循環(huán)次數(shù)]) 此命令可以是聲音開始播放,里面的兩個(gè)參數(shù)是可選的。
stop() 停止聲音的播放。
setVolume(音量級(jí)別) 此命令可以控制聲音的音量高低,音量級(jí)別只能是從0-100之間的數(shù)字。
呵呵,羅嗦了半天,現(xiàn)在咱們也應(yīng)該用AS先做一個(gè)簡(jiǎn)單的小例子了。
二、創(chuàng)建一個(gè)簡(jiǎn)單的聲音播放動(dòng)畫,可以實(shí)現(xiàn)簡(jiǎn)單的開始與停止播放聲音。
操作步驟:
?。?、新建一個(gè)Flash文檔,按Ctrl+R(文件\導(dǎo)入)導(dǎo)入一個(gè)聲音文件,聲音文件可以是MP3或WAV格式的。聲音文件導(dǎo)入之后,在舞臺(tái)上是看不見的,必須打開庫才能看到我們導(dǎo)入的聲音。
2、選中庫中的聲音文件,單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“鏈接...”將會(huì)彈出一個(gè)鏈接的對(duì)話框,請(qǐng)勾選“為動(dòng)作腳本導(dǎo)出”和“在第一楨導(dǎo)出”選項(xiàng),并輸入一個(gè)標(biāo)識(shí)符:mysound?。挚扇我鈱懀瑔螕舸_定。
3、回到主舞臺(tái),選中時(shí)間軸的第一楨,按F9打開動(dòng)作面板?,F(xiàn)在我們要?jiǎng)?chuàng)建一個(gè)新的聲音對(duì)象,并且連接到庫里的聲音。用來控制聲音。輸入以下腳本:
music = new sound();//創(chuàng)建一個(gè)名字叫music的聲音對(duì)象。
music.attachSound("mysound");//將這個(gè)聲音對(duì)象與庫里的標(biāo)識(shí)符為“mysound”的聲音連接。
4、現(xiàn)在需要在舞臺(tái)上放置兩個(gè)按鈕分別控制聲音的播放與停止。選擇“窗口”--“公用庫”--“按鈕”,打開Flash為我們?cè)O(shè)置的公用按鈕元件庫,再將Circle Buttons中的Play按鈕和Stop按鈕拖放到舞臺(tái)上。
5、此時(shí),舞臺(tái)上將有播放和停止兩個(gè)按鈕,選中Play按鈕,打開動(dòng)作面板,輸入以下腳本:
on (release) {
music.start();
}//播放聲音
選中Stop按鈕,輸入以下腳本:
on (release) {
music.stop();
}//停止播放聲音
?。?、OK,一個(gè)簡(jiǎn)單的控制聲音播放與停止的例子就完成了,快按Ctrl+回車來測(cè)試吧.
三、創(chuàng)建一個(gè)稍微復(fù)雜的例子,用來滑動(dòng)按鈕來控制聲音的音量。
操作步驟:
?。薄⑿陆ㄒ粋€(gè)Flash文檔,并按Ctrl+R導(dǎo)入一個(gè)聲音文件。
?。?、參照上個(gè)例子,打開庫,并把導(dǎo)入的聲音文件設(shè)置一個(gè)鏈界標(biāo)識(shí)符。這里設(shè)置標(biāo)識(shí)符為“mysound”。
?。场⑦x中舞臺(tái)時(shí)間軸第一楨,打開動(dòng)作面板,創(chuàng)建一個(gè)新的聲音對(duì)象,連接庫中聲音,并播放這個(gè)聲音。輸入腳本如下:
music = new sound();
music.attachSound("mysound");
music.start(1, 10);//播放聲音,從第一秒開始播放,并循環(huán)10次
?。?、現(xiàn)在需要一個(gè)按鈕做為滑動(dòng)按鈕,用來控制聲音的音量!按鈕可以自己制作或使用公用庫中的按鈕,此例中我使用公用庫中的按鈕。請(qǐng)?jiān)谖枧_(tái)適當(dāng)位置放置一個(gè)按鈕實(shí)例。
5、選中按鈕,打開動(dòng)作面板輸入以下腳本:
on (press) {
this.startDrag(false, left, top, right, bottom);//開始拖動(dòng)這個(gè)按鈕,并且要規(guī)定它的拖動(dòng)范圍,分別由四個(gè)變量控制,4個(gè)變量的初始值稍后設(shè)置。
drag = true;//用一個(gè)變量來判斷這個(gè)按鈕是否被拖動(dòng)了。如果它被拖動(dòng)了,變量值為true(真)
}
on (release, releaseOutside) {
this.stopDrag();//當(dāng)松開按鈕或在按鈕外部松開,就停止拖動(dòng)。并且下面的drag變量為假,表示按鈕沒有被拖動(dòng)。
drag = false;
}
6、再次選中這個(gè)按鈕,并按F8鍵將它轉(zhuǎn)換成一個(gè)影片剪輯!起名為:控制音量。也就是“控制音量”這個(gè)影片剪輯里面包含了剛才的按鈕。
7、選中舞臺(tái)上這個(gè)控制音量影片剪輯的實(shí)例,打開動(dòng)作面板,現(xiàn)在要設(shè)置拖動(dòng)范圍的4個(gè)初始值和設(shè)置音量大小控制。請(qǐng)輸入以下腳本:
onClipEvent (load) {//當(dāng)這個(gè)Flash動(dòng)畫一開始,就設(shè)置下面4個(gè)變量的初始值。為了使按鈕只能上下拖動(dòng),所以,拖動(dòng)范圍的左、右都固定!只能讓按鈕在上下100象素以內(nèi)拖動(dòng)。
top = _y;
left = _x;
right = _x;
bottom = _y+100;
}
onClipEvent (enterFrame) {
if (drag == true) {//如果按鈕被拖動(dòng)了,就開始執(zhí)行下面的設(shè)置音量的算法,用來控制音量。
_root.music.setVolume(100-(_y-top));//設(shè)置音量大小,比較難理解的是里面的算法:100-(_y-top),通過代入數(shù)字來幫助我們理解,如果_y的值是100,我們的top值也是固定的為100。當(dāng)拖動(dòng)按鈕往下時(shí),_y值就會(huì)變大,比如變?yōu)椋保常埃敲確y-top就等于30了,在用100-30就等于70,這個(gè)70就是音量的級(jí)別了。伴隨著按鈕越往下拖,音量級(jí)就會(huì)變的越小,那么也就實(shí)現(xiàn)音量的控制了。
}
}
8、現(xiàn)在就來測(cè)試你的成果吧!