Flash AS 實(shí)例進(jìn)階 聲音控制as代碼

這篇教程為“Flash AS 實(shí)例進(jìn)階教程”的一部分。查看全套教程>>>>。
>>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<
實(shí)例2-2聲音控制
(1)基本思路①建立一個(gè)可由 AS 控制聲音對(duì)象。
②將庫(kù)中指定的聲音附加到這個(gè)對(duì)象上。
③ 制作一個(gè)有放音和消音圖標(biāo)的 MC 。
④開始為自動(dòng)播放,并有放音圖標(biāo)顯示。
⑤第一次點(diǎn)擊 MC 后,顯示靜音圖標(biāo),存儲(chǔ)當(dāng)前音量值,同時(shí)音量設(shè)為 0 。
⑥再次點(diǎn)擊,顯示放音圖標(biāo),并為聲音對(duì)象設(shè)置已存儲(chǔ)的音量值。
?。?)新知識(shí)點(diǎn)
mySound=new Sound();// 新建一個(gè)聲音對(duì)象,我們這里對(duì)象的名稱是 ”sheng” 。
mySound.attachSound(); 從庫(kù)中加載聲音。
mySound.getBytesLoaded(); 獲取聲音載入的字節(jié)數(shù)。
mySound.getBytesTotal(); 獲取聲音的總字節(jié)數(shù)。
mySound.start(); 開始播放聲音。括號(hào)中若填制整數(shù)值,即從聲音播放后的這一秒開始播放。
mySound.stop(); 停止聲音的播放。
mySound.getVolume(); 獲取當(dāng)前的音量大小 ( 范圍從 0-100) 。
mySound.setVolume(); 設(shè)置當(dāng)前音樂的音量 ( 范圍從 0-100) 。
mySound.duration; 聲音的長(zhǎng)度。 ( 單位為毫秒, 1000 毫秒= 1 秒)
mySound.position; 聲音已播放的毫秒數(shù)。 ( 單位為毫秒)
(3)實(shí)例說明① 第一幀插入一個(gè)有補(bǔ)間動(dòng)作的MC“搖椅”。
② 導(dǎo)入到庫(kù)一聲音文件,右擊該文件,選菜單【鏈接】,在出現(xiàn)的對(duì)話框中進(jìn)行設(shè)置,
如圖 2-1 :
圖2 -1 鏈接屬性面扳
其中的【標(biāo)識(shí)符】即為對(duì)象命名,這樣程序才能識(shí)別和控制,和前面課程講的為MC注冊(cè)實(shí)例名及 duplicateMovieClip 后的MC名同理;【鏈接】中選中“為動(dòng)作腳本導(dǎo)出”和“在第一幀導(dǎo)出”,前者是確定要接受動(dòng)作腳本控制,后者是確定要在生成SWF文件時(shí)被導(dǎo)出。
③ 制作一命名“控制”的有喇叭放音和消音圖標(biāo)的 MC ,在第一幀初始化,第 2 幀停止。
?。?) 編寫動(dòng)作腳本
?、?在 MC “控制” 第 1 幀輸入:
i = 0;
this.lb2._visible = 0;
② 在 MC “控制” 第 2 幀輸入:
stop();
?、壑鲿r(shí)間軸第 1 幀輸入:
sheng = new Sound();// 構(gòu)建一個(gè) Sound 對(duì)象“ sheng ”
sheng.attachSound("ge");// 將庫(kù)中的聲音文件 ”ge” 加載到聲音對(duì)象上
sheng.start(3);// 令聲音從第 3秒開始播放
?、茏詈笠粠斎耄?/p>
if (sheng.position == sheng.duration) {// 條件為已播放長(zhǎng)度等于聲音總長(zhǎng)度
sheng.start(3);// 從第 3 秒重新播放
}
gotoAndPlay(2);
?、?在 MC “控制” 上輸入:
on (release) {
if (i == 0) {
n = _root.sheng.getVolume();// 獲取當(dāng)前的音量值并賦值給變量 n
_root.sheng.setVolume(0);// 設(shè)置 Sound 對(duì)象的音量為0
this.lb1._visible = 0;
this.lb2._visible = 1;
i = 1;
} else {
_root.sheng.setVolume(n);// 設(shè)置 Sound 對(duì)象的音量為 n
this.lb1._visible = 1;
this.lb2._visible = 0;
i = 0;
}
}
?。?)小結(jié)本講介紹了 Sound 類的常用的方法,更多的內(nèi)容可在幫助文件里查看到,靜音是讓音量降到 0 ,而不是停止,恢復(fù)播放只是要恢復(fù)原來的音量,而播放的進(jìn)度還是不改變的,這節(jié)是在 MC 上用 on() 事件處理函數(shù)實(shí)現(xiàn)了和按鈕 相同的控制效果, MC 上使用 on() 可更靈活多樣, MC 內(nèi)部可以嵌套 MC ,并可以加寫動(dòng)作腳本。
?。?)課后練習(xí)制作一個(gè)有圖標(biāo)顯示的控制聲音播放和暫停的實(shí)例,要求暫停后再播放要從該點(diǎn)開始,每次播放結(jié)束后返回到起始狀態(tài),效果范例:
>>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<
練習(xí)2-2
這篇教程為“Flash AS 實(shí)例進(jìn)階教程”的一部分。查看全套教程>>>>。
相關(guān)文章
flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享
flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡(jiǎn)單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2018-01-25Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?
本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡(jiǎn)單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?
本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?
Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下2017-05-23- Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2017-04-23