版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.Flash動漫技巧1.首先來做一些準(zhǔn)備工作.播放器的外觀并非本教程的內(nèi)容,但一些部件是必須的.先作5個按鈕:播放,暫停,停止,快進(jìn),快退,如下圖:它們的實例名稱分別是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面來制作進(jìn)度條,新建一影片剪輯,畫一細(xì)長矩形,新插入一層,再畫一個相同長度不同顏色的矩形,并將它轉(zhuǎn)換為影片剪輯元件,實例名稱為:jdt_mc.回到主場景,將進(jìn)度條影片剪輯放到舞臺上,取實例名稱為:jdk_mc.如圖:3.聲道控制面板,新建一影片剪輯,按下圖畫出聲道控制面板:畫一個小的矩形放到面板的中間刻度上,將小矩形轉(zhuǎn)換為影片剪輯,或者就叫滑塊吧.
2、為它取實例名稱:sdhk_mc.回到主場景,將聲道控制影片剪輯拖到舞臺上,為它取實例名稱:sd_mc4.音量控制面板,新建影片剪輯,按下圖畫出音量控制面板:將滑塊元件(在上一步中創(chuàng)建的)拖到舞臺上,放到音量最大處(右邊),為它取實例名稱:ylhk_mc回到主場景,將音量控制影片剪輯拖到舞臺上,為它取實例名稱為:yl_mc5.節(jié)目單按鈕,做下面一樣的影片剪輯,放在舞臺上,取實例名稱為:jmdbtn_mc6.節(jié)目單,新建影片剪輯,畫一矩形,在矩形上放一個文本框,輸入歌曲名稱,演唱者:同樣的方法創(chuàng)建其它的歌曲名稱影片剪輯.新建一影片剪輯,將這些歌曲名稱影片剪輯,從庫中拖入排好:分別給這些歌名影片剪輯
3、取實例名稱:song1_mc,song2_mc.song5_mc.新建一圖層,畫一矩形蓋住所有歌名,然后將這一層拖到最下面.這個矩形的顏色應(yīng)與歌曲名稱影片中的矩形顏色相同. 回到主場景,將節(jié)目單影片剪輯拖到舞臺上,放到節(jié)目單按鈕下面,取實例名稱為:song_mc7.光柵,新建影片剪輯,畫如下圖形:放在舞臺上,然后復(fù)制4個,共5個,分別取實例名稱為:gb1,gb2,gb3,gb4,gb58.地址欄,在舞臺上建一個動態(tài)文本框,取實例名稱為:RUL_txt9.再放兩個動態(tài)文本,用來用數(shù)字顯示進(jìn)度.兩個文本框的實例名稱分別為:dqcd_txt,zcd_txt10.好了,所有的東西都準(zhǔn)備齊了,至于你想怎
4、樣將它們擺放得漂亮一些,那是你的事情了,本文不涉及到這些內(nèi)容.我們要寫代碼了.next我們首先要獲得歌曲的地址,將地址放到地址文本框中,當(dāng)然,最簡單的辦法是,直接在地址框中輸入地址.但我們內(nèi)置了幾首歌,這就要為這些歌名元件添加點擊事件,當(dāng)點擊時,將歌曲地址放到地址框中. 在剛打開播放器時,我們讓節(jié)目單不可見,點擊節(jié)目單按鈕后,才讓節(jié)目單顯示出來: song_mc._yscale = 0; 這樣節(jié)目單的高度為0,就不可見了. jmdbtn_mc.onRelease = function() if(song_mc._yscale 0) song_mc._yscale = 0; else song_
5、mc._yscale=100; 點擊節(jié)目單按鈕,如果節(jié)目單是打開的則關(guān)閉節(jié)目單,如果是關(guān)閉的則打開節(jié)目單. 節(jié)目單打開后,就可以點擊歌曲名稱將地址放到地址框中了: song_mc.song1_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0; song_mc.song2_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0; song_mc.song3_mc.onRelease = function() RUL_txt.text = song_mc._yscale
6、=0; song_mc.song4_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0; song_mc.song5_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0; song_mc.song6_mc.onRelease = function() RUL_txt.text =6:8089/music/Audio/6.mp3; song_mc._yscale=0; 地址欄中有了歌曲的地址,那么就可以點擊播放按鈕播放歌曲了. 首
7、先要創(chuàng)建一個Sound類,用來加載mp3: var wmp3:Sound = new Sound(); 在播放前,應(yīng)該將進(jìn)度條設(shè)在0處: jdk_mc.jdt_mc._xscale = 0; 將光柵的高度設(shè)為零,因為設(shè)光柵高度為零的動作要多次執(zhí)行,所以將它做成一個函數(shù),然后調(diào)用它: function gbhl() for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale = 0; gbhl(); 我們還需要一些變量后面有用: var zcd;/歌曲的總長度 var dqcd;/當(dāng)前已播放的長度,用于暫停按鈕和進(jìn)度條 var ztd =0;/暫停點,用于暫
8、停按鈕 var jd;/進(jìn)度條的位置 var rul:String;/歌曲的地址 var sdz;/聲道的值 var ylz;/音量的值 這些變量現(xiàn)在不用管它,在后面用到它們時會給予說明的. 接下來就該寫播放按鈕上的代碼了,有了播放按鈕,就可以興賞音樂了. 在播放時,首先應(yīng)該判斷當(dāng)前是從頭開始播放還是處于暫停狀態(tài),如果是暫停,那么我們上面聲明的變量ztd就不會是0,根據(jù)這個變量是否為零就可以確定是從頭開始播放還是從ztd開始播放,如果ztd為零,首先從地址欄獲得歌曲地址,然后判定地址是否為空,如果不為空則將進(jìn)度條歸零,然后加載歌曲,并播放歌曲.調(diào)用mp3pl()函數(shù),這個函數(shù)是在歌曲播放過程中
9、設(shè)置一些效果比如進(jìn)度條,光柵等.如果ztd不為零,則歌曲從暫停點處播放,并調(diào)用mp3pl()函數(shù). ply_btn.onRelease = function() if(ztd =0) rul = RUL_txt.text; if(rul) jdk_mc.jdt_mc._xscale = 0; wmp3.loadSound(rul,true); wmp3.start(); mp3pl(wmp3); else wmp3.start(ztd); mp3pl(wmp3); 現(xiàn)在來看看mp3pl()函數(shù),在這個函數(shù)中會用到Sound類的兩個屬性和一個方法,先介紹一下. duration屬性:該屬性返回聲
10、音的總長度,以毫秒計算. position屬性:上一節(jié)已經(jīng)介紹過,它返回聲音已播放的長度,以毫秒計算. getVolume()方法:返回聲音單量的大小,數(shù)字為0-100. 在這個函數(shù)中,在onEnterFrame事件中,首先獲取歌曲的總長度和當(dāng)前已播放的長度,將這兩個數(shù)字顯示在文本框中,計算出播放進(jìn)度,設(shè)置進(jìn)度條的 _xscale比例,顯示播放進(jìn)度,然后根據(jù)音量設(shè)置光柵的高度,首先將_yscale設(shè)為音量的一半,然后將另一半設(shè)為random()產(chǎn)生隨機(jī)數(shù),這樣就產(chǎn)生閃動的效果. function mp3pl(mp3) onEnterFrame = function() zcd = mp3.du
11、ration/1000; dqcd = mp3.position/1000; zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd = dqcd/zcd*100; jdk_mc.jdt_mc._xscale = jd; if(dqcd!=zcd) for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale =mp3.getVolume()/2+ random(mp3.getVolume()/2); 現(xiàn)在應(yīng)該基本成形了,剩下的就是幾個按加上功能了. 當(dāng)點擊進(jìn)度條時根據(jù)鼠標(biāo)在進(jìn)
12、度條上的位置,確定歌曲重新從那一點上開始播放,達(dá)到快進(jìn)或快退的功能. jdk_mc.onRelease= function() var djd = _xmouse - jdk_mc._x; var kjd = djd/jdk_mc._width*zcd; wmp3.stop(); wmp3.start(kjd); 暫停按鈕:記錄當(dāng)前已播放的長度,并存到ztd中,停止播放歌曲,這樣當(dāng)點擊播放按鈕時,因ztd不等于0,而使歌曲從ztd開始播放. zd_btn.onRelease =function() ztd = dqcd; wmp3.stop(); delete onEnterFrame; gb
13、hl(); 停止按鈕:將ztd設(shè)為0,停止播放歌曲. stop_btn.onRelease=function() wmp3.stop(); ztd = 0; delete onEnterFrame; gbhl(); 快進(jìn)快退按鈕,在當(dāng)前已播放長度的基礎(chǔ)上加上或減去5秒,重新播放歌曲 kj_btn.onRelease=function() wmp3.stop(); kjd = dqcd + 5; wmp3.start(kjd); kt_btn.onRelease=function() wmp3.stop(); ktd = dqcd - 5; wmp3.start(ktd); 下面的聲道控制,在S
14、ound類,的setPan()方法可以設(shè)置聲音的聲道,值為0-100,0聲音將完全由左聲道播出,而100則完全由右聲道播出. 當(dāng)移動聲道控制上滑塊,放開時根據(jù)滑塊的位置設(shè)置聲道的值. sd_mc.sdhk_mc.onPress = function() startDrag(this,true,0,0,sd_mc._width-this._width/2,0); sd_mc.sdhk_mc.onRelease = function() stopDrag(); sdz = (this._x)/sd_mc._width*100; wmp3.setPan(sdz); 音量控制,在Sound類中可以使用
15、setVolume()方法設(shè)置聲音的音量,值為0-100,當(dāng)移動音量控制上滑塊,放開時根據(jù)滑塊的位置設(shè)置音量的值. yl_mc.ylhk_mc.onPress = function() startDrag(this,true,0,0,yl_mc._width-this._width/2,0); yl_mc.ylhk_mc.onRelease = function() stopDrag(); ylz = (this._x)/yl_mc._width*100; wmp3.setVolume(ylz); OK,現(xiàn)在真正的完全完成了,靜下心來欣賞音樂吧.完整的代碼:song_mc._yscale =
16、0;var wmp3:Sound = new Sound();var zcd;var dqcd;var ztd =0;var jd;var rul:String;var sdz;var ylz;jdk_mc.jdt_mc._xscale = 0;gbhl();ply_btn.onRelease = function() if(ztd =0) rul = RUL_txt.text; if(rul) jdk_mc.jdt_mc._xscale = 0; wmp3.loadSound(rul,true); wmp3.start(); mp3pl(wmp3);else wmp3.start(ztd);
17、 mp3pl(wmp3);jdk_mc.onRelease= function() var djd = _xmouse - jdk_mc._x; var kjd = djd/jdk_mc._width*zcd; wmp3.stop(); wmp3.start(kjd);function mp3pl(mp3)onEnterFrame = function() zcd = mp3.duration/1000; dqcd = mp3.position/1000; zcd_txt.text = Math.floor(zcd); dqcd_txt.text = Math.floor(dqcd); jd
18、= dqcd/zcd*100; jdk_mc.jdt_mc._xscale = jd; if(dqcd!=zcd) for(i=1;i 0) song_mc._yscale = 0; else song_mc._yscale=100;song_mc.song1_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0;song_mc.song2_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0;song_mc.song3_mc.onRelease = function
19、() RUL_txt.text = song_mc._yscale=0;song_mc.song4_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0;song_mc.song5_mc.onRelease = function() RUL_txt.text = song_mc._yscale=0;song_mc.song6_mc.onRelease = function() RUL_txt.text =6:8089/music/Audio/6.mp3; song_mc._yscale=0;function gbhl() for(i=1;i6;i+) gb_mc = eval(gb+i); gb_mc._yscale = 0;stop_btn.onRelease=function() wmp3.stop(); ztd = 0; d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度寵物醫(yī)院寵物醫(yī)院寵物健康數(shù)據(jù)管理合同4篇
- 二零二五年版鋁合金散熱器研發(fā)與生產(chǎn)合同樣本2篇
- 引進(jìn)創(chuàng)新創(chuàng)業(yè)團(tuán)隊2025年度協(xié)議3篇
- 2025年度個人商鋪租賃合同裝修工程監(jiān)督合同4篇
- 二零二五年度地質(zhì)災(zāi)害風(fēng)險評估與防治合同3篇
- 2025年度個人閑置土地承包權(quán)置換合同范本4篇
- 2025年度大型活動策劃與執(zhí)行服務(wù)合同模板4篇
- 二零二五年度建筑廢棄物處理項目擔(dān)保合同范本3篇
- 二婚家庭專用2024離婚協(xié)議范本樣本版B版
- 2025年度趕工環(huán)保設(shè)備趕工銷售合作協(xié)議書
- 高考語文復(fù)習(xí)【知識精研】《千里江山圖》高考真題說題課件
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 高中物理斜面模型大全(80個)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機(jī)構(gòu)GCP SOP
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論