版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.Flash動(dòng)漫技巧1.首先來做一些準(zhǔn)備工作.播放器的外觀并非本教程的內(nèi)容,但一些部件是必須的.先作5個(gè)按鈕:播放,暫停,停止,快進(jìn),快退,如下圖:它們的實(shí)例名稱分別是:ply_btn,zd_btn,stop_btn,kj_btn,kt_btn2.下面來制作進(jìn)度條,新建一影片剪輯,畫一細(xì)長矩形,新插入一層,再畫一個(gè)相同長度不同顏色的矩形,并將它轉(zhuǎn)換為影片剪輯元件,實(shí)例名稱為:jdt_mc.回到主場(chǎng)景,將進(jìn)度條影片剪輯放到舞臺(tái)上,取實(shí)例名稱為:jdk_mc.如圖:3.聲道控制面板,新建一影片剪輯,按下圖畫出聲道控制面板:畫一個(gè)小的矩形放到面板的中間刻度上,將小矩形轉(zhuǎn)換為影片剪輯,或者就叫滑塊吧.
2、為它取實(shí)例名稱:sdhk_mc.回到主場(chǎng)景,將聲道控制影片剪輯拖到舞臺(tái)上,為它取實(shí)例名稱:sd_mc4.音量控制面板,新建影片剪輯,按下圖畫出音量控制面板:將滑塊元件(在上一步中創(chuàng)建的)拖到舞臺(tái)上,放到音量最大處(右邊),為它取實(shí)例名稱:ylhk_mc回到主場(chǎng)景,將音量控制影片剪輯拖到舞臺(tái)上,為它取實(shí)例名稱為:yl_mc5.節(jié)目單按鈕,做下面一樣的影片剪輯,放在舞臺(tái)上,取實(shí)例名稱為:jmdbtn_mc6.節(jié)目單,新建影片剪輯,畫一矩形,在矩形上放一個(gè)文本框,輸入歌曲名稱,演唱者:同樣的方法創(chuàng)建其它的歌曲名稱影片剪輯.新建一影片剪輯,將這些歌曲名稱影片剪輯,從庫中拖入排好:分別給這些歌名影片剪輯
3、取實(shí)例名稱:song1_mc,song2_mc.song5_mc.新建一圖層,畫一矩形蓋住所有歌名,然后將這一層拖到最下面.這個(gè)矩形的顏色應(yīng)與歌曲名稱影片中的矩形顏色相同. 回到主場(chǎng)景,將節(jié)目單影片剪輯拖到舞臺(tái)上,放到節(jié)目單按鈕下面,取實(shí)例名稱為:song_mc7.光柵,新建影片剪輯,畫如下圖形:放在舞臺(tái)上,然后復(fù)制4個(gè),共5個(gè),分別取實(shí)例名稱為:gb1,gb2,gb3,gb4,gb58.地址欄,在舞臺(tái)上建一個(gè)動(dòng)態(tài)文本框,取實(shí)例名稱為:RUL_txt9.再放兩個(gè)動(dòng)態(tài)文本,用來用數(shù)字顯示進(jìn)度.兩個(gè)文本框的實(shí)例名稱分別為:dqcd_txt,zcd_txt10.好了,所有的東西都準(zhǔn)備齊了,至于你想怎
4、樣將它們擺放得漂亮一些,那是你的事情了,本文不涉及到這些內(nèi)容.我們要寫代碼了.next我們首先要獲得歌曲的地址,將地址放到地址文本框中,當(dāng)然,最簡(jiǎn)單的辦法是,直接在地址框中輸入地址.但我們內(nèi)置了幾首歌,這就要為這些歌名元件添加點(diǎn)擊事件,當(dāng)點(diǎn)擊時(shí),將歌曲地址放到地址框中. 在剛打開播放器時(shí),我們讓節(jié)目單不可見,點(diǎn)擊節(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; 點(diǎn)擊節(jié)目單按鈕,如果節(jié)目單是打開的則關(guān)閉節(jié)目單,如果是關(guān)閉的則打開節(jié)目單. 節(jié)目單打開后,就可以點(diǎn)擊歌曲名稱將地址放到地址框中了: 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; 地址欄中有了歌曲的地址,那么就可以點(diǎn)擊播放按鈕播放歌曲了. 首
7、先要?jiǎng)?chuàng)建一個(gè)Sound類,用來加載mp3: var wmp3:Sound = new Sound(); 在播放前,應(yīng)該將進(jìn)度條設(shè)在0處: jdk_mc.jdt_mc._xscale = 0; 將光柵的高度設(shè)為零,因?yàn)樵O(shè)光柵高度為零的動(dòng)作要多次執(zhí)行,所以將它做成一個(gè)函數(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;/暫停點(diǎn),用于暫
8、停按鈕 var jd;/進(jìn)度條的位置 var rul:String;/歌曲的地址 var sdz;/聲道的值 var ylz;/音量的值 這些變量現(xiàn)在不用管它,在后面用到它們時(shí)會(huì)給予說明的. 接下來就該寫播放按鈕上的代碼了,有了播放按鈕,就可以興賞音樂了. 在播放時(shí),首先應(yīng)該判斷當(dāng)前是從頭開始播放還是處于暫停狀態(tài),如果是暫停,那么我們上面聲明的變量ztd就不會(huì)是0,根據(jù)這個(gè)變量是否為零就可以確定是從頭開始播放還是從ztd開始播放,如果ztd為零,首先從地址欄獲得歌曲地址,然后判定地址是否為空,如果不為空則將進(jìn)度條歸零,然后加載歌曲,并播放歌曲.調(diào)用mp3pl()函數(shù),這個(gè)函數(shù)是在歌曲播放過程中
9、設(shè)置一些效果比如進(jìn)度條,光柵等.如果ztd不為零,則歌曲從暫停點(diǎn)處播放,并調(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ù),在這個(gè)函數(shù)中會(huì)用到Sound類的兩個(gè)屬性和一個(gè)方法,先介紹一下. duration屬性:該屬性返回聲
10、音的總長度,以毫秒計(jì)算. position屬性:上一節(jié)已經(jīng)介紹過,它返回聲音已播放的長度,以毫秒計(jì)算. getVolume()方法:返回聲音單量的大小,數(shù)字為0-100. 在這個(gè)函數(shù)中,在onEnterFrame事件中,首先獲取歌曲的總長度和當(dāng)前已播放的長度,將這兩個(gè)數(shù)字顯示在文本框中,計(jì)算出播放進(jìn)度,設(shè)置進(jìn)度條的 _xscale比例,顯示播放進(jìn)度,然后根據(jù)音量設(shè)置光柵的高度,首先將_yscale設(shè)為音量的一半,然后將另一半設(shè)為random()產(chǎn)生隨機(jī)數(shù),這樣就產(chǎn)生閃動(dòng)的效果. 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)該基本成形了,剩下的就是幾個(gè)按加上功能了. 當(dāng)點(diǎn)擊進(jìn)度條時(shí)根據(jù)鼠標(biāo)在進(jìn)
12、度條上的位置,確定歌曲重新從那一點(diǎn)上開始播放,達(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)點(diǎn)擊播放按鈕時(shí),因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)移動(dòng)聲道控制上滑塊,放開時(shí)根據(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)移動(dòng)音量控制上滑塊,放開時(shí)根據(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)付款資產(chǎn)轉(zhuǎn)讓
- 質(zhì)量問題先行賠付
- 混凝土供應(yīng)協(xié)議
- 財(cái)務(wù)咨詢服務(wù)協(xié)議樣本
- 服務(wù)改進(jìn)方案合同
- 校園印刷購銷合同
- 鴨毛購銷合同
- 誠信為本杜絕曠工
- 嚴(yán)守校規(guī)我的承諾
- 井位建設(shè)合同范本
- 電子技術(shù)基礎(chǔ)練習(xí)題庫(含參考答案)
- 兒童流感診療及預(yù)防指南(2024醫(yī)生版)
- 語文中考《非連續(xù)性文本閱讀》專題精練(含答案解析)
- 科幻小說賞析與創(chuàng)意寫作智慧樹知到期末考試答案2024年
- 沖上云霄-飛機(jī)鑒賞智慧樹知到期末考試答案2024年
- 成骨細(xì)胞骨形成機(jī)制
- 年處理5000噸芒果工廠設(shè)計(jì)
- 關(guān)于大學(xué)生生活習(xí)慣對(duì)身體健康狀況影響的調(diào)查報(bào)告
- 冬季施工方案(管道)(完整版)
- 審計(jì)風(fēng)險(xiǎn)外文文獻(xiàn)
- 動(dòng)漫動(dòng)畫制作合同
評(píng)論
0/150
提交評(píng)論