我們做課件時(shí),為了烘托課程主題、營(yíng)造愉快的學(xué)習(xí)氛圍,常常給課件配一個(gè)背景音樂(lè)。當(dāng)臨時(shí)關(guān)閉背景音樂(lè)(不是關(guān)閉所有聲音),或者使用完畢而退出課件時(shí),如何安排背景音樂(lè)退場(chǎng)呢?
常規(guī)的做法是:讓背景音樂(lè)隨著聲音按鈕的按下或課件的退出戛然而止。這樣做固然干脆利落,然而也有突兀、不夠?qū)I(yè)之嫌!其實(shí),想讓背景音樂(lè)逐漸淡出是很容易實(shí)現(xiàn)的。
第1步
引入背景音樂(lè),指定鏈接標(biāo)識(shí)符
單擊“文件→導(dǎo)入→導(dǎo)入到庫(kù)”,然后選擇事先準(zhǔn)備好的背景音樂(lè)文件,從而將背景音樂(lè)導(dǎo)入到庫(kù)中,再按F11鍵打開(kāi)庫(kù),在聲音組件上單擊右鍵,選擇“鏈接”(如圖1所示),即打開(kāi)“鏈接屬性”對(duì)話框,輸入一個(gè)標(biāo)識(shí)符,比如“music1”,用于標(biāo)識(shí)該組件,以便在場(chǎng)景中進(jìn)入控制(如圖2所示)。
第2步
創(chuàng)建Sound對(duì)象,綁定音樂(lè)
在第一步中,我們已往庫(kù)中引入了兩個(gè)背景音樂(lè),并分別為其指定了鏈接標(biāo)識(shí)符:“music1”和“music2”,接下來(lái)就是創(chuàng)建Sound對(duì)象:music1、music2。當(dāng)然,也可取為其他的名字。并分別將庫(kù)中的兩個(gè)聲音組件(music1和music2)綁定到這兩個(gè)對(duì)象上。具體的做法:在場(chǎng)景開(kāi)始的幀上輸入下面的ActionScript:
//創(chuàng)建Sound對(duì)象:
music1 = new Sound();
music2 = new Sound();
//綁定聲音組件到對(duì)象上:
music1.attachSound("music1");
music2.attachSound("music2");
第3步
創(chuàng)建聲控mc,讓音樂(lè)周而復(fù)始
按Ctrl+F8新建一個(gè)mc,只一幀,在幀上添加如下Action,檢測(cè)Root.music1_ctrl.Playing和Root.music2_ctrl.Playing的可見(jiàn)性:如果Root.music1_ctrl.Playing可見(jiàn),則說(shuō)明music1音樂(lè)在播放,當(dāng)其放完時(shí),再?gòu)念^開(kāi)始;如果Root.music2_ctrl.Playing可見(jiàn),則說(shuō)明music2音樂(lè)在播放,當(dāng)其放完時(shí),再?gòu)念^開(kāi)始。
onEnterFrame = function () {
if (_root.music1_ctrl.Playing._visible) {
_root.music1.onSoundComplete = function() {
_root.music1.start(0);
};
} else if (_root.music2_ctrl.Playing._visible) {
_root.music2.onSoundComplete = function() {
_root.music2.start(0);
};
}
};
最后,別忘了將此mc拖到主場(chǎng)景中。
第4步
創(chuàng)建聲控mc,讓音樂(lè)逐漸淡出
同樣,通過(guò)按Ctrl+F8新建一個(gè)mc,共三幀:
//第1幀Action:
mvol=0;
stop();
//第2幀Action:
if (_root.music1_ctrl.Playing._visible) {
mvol = _root.music1.getVolume();
} else if (_root.music2_ctrl.Playing._visible) {
mvol = _root.music2.getVolume();
}
a = setInterval(Next, 50);
function Next() {
clearInterval(a);
mvol--;
if (_root.music1_ctrl.Playing._visible) {
_root.music1.setVolume(mvol);
} else if (_root.music2_ctrl.Playing._visible) {
_root.music2.setVolume(mvol);
}
}
//
if (mvol<0) {
stopAllSounds();
fscommand("quit", "");
}
//第3幀Action:
gotoAndplay(2)
對(duì)于第1、3幀的Action就不用說(shuō)了,第2幀的Action先判斷_root.music1和_root.music2是不是有一個(gè)正在播放,如果是則將其音量值賦給變量mvol,然后每隔50毫秒mvol減1,直到mvol小于0時(shí),退出課件。這樣就達(dá)到了聲音逐漸淡出的效果!
當(dāng)然這個(gè)mc也要放到場(chǎng)景中去,并給它一個(gè)實(shí)例名,比如“Quit”,然后再添加一個(gè)退出按鈕,加上如下Action,從而啟動(dòng)Quit:
on (release) {
_root.quit.play();
}
這樣,在課件退出時(shí),不管背景音樂(lè)播放到何處,都能逐漸淡出,給人一種漸漸遠(yuǎn)去的感覺(jué)。