Flash AS 實例進階 聲音控制as代碼

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