1、準(zhǔn)備工作:僅僅需要一個能看到播放時間的音樂播放器既可 2、開始制作:首先新建三層,這樣排列: 解釋一下: 1、AS層就是用來放AS控制語句,用來控制歌詞與MV的聲音對應(yīng)。除了第一幀,后面的全部是空白幀 2、影片層用來放你的MV的動畫,在這里建議所有動畫在一個MC里面完成,而不要直接在主場景上制作,這樣子不僅很方便后期調(diào)整,也是一種好習(xí)慣(個人這樣認(rèn)為,我不喜歡用場景,喜歡用MC+AS來控制各個動畫場景之間的調(diào)用,因?yàn)檫@樣實(shí)在太方便了,而且AS也好些許多),同樣除了第一幀,后面的全部是空白幀 3、歌詞層就是用來放你的歌詞,你可以看到歌詞層后面除了第一幀是空白關(guān)鍵幀以外,后面所有的幀都是關(guān)鍵幀,第一幀空出來是因?yàn)楦枨皇且婚_始就有人唱的(前奏),因此前面有一段是空白沒有歌詞僅有音樂和動畫的,因此歌詞層第一幀沒有歌詞,而只顯示上面一層的動畫以及執(zhí)行AS。后面幾幀都是一句句歌詞,用AS來控制顯示,其實(shí)下面馬上要講解的AS的作用僅僅是根據(jù)歌曲播放的時間來判斷是否進(jìn)入下一幀,從而達(dá)到顯示歌詞的目的。 OK,層解釋完了,因?yàn)檫@里主要是介紹怎樣使用AS來控制歌詞顯示(跳轉(zhuǎn)幀……),因此關(guān)于MV的動畫制作部分我們就略過不講了,下面開始解釋AS層上第一幀的AS(也是整個FLASH動畫中唯一的AS): onClipEvent (load) { //當(dāng)影片載入的時候 song = new Sound(); //建立聲音對象 song.attachSound("sound"); //從庫中調(diào)用連接名為Sound的聲音對象 song.start(); //聲音對象開始播放(剛剛聲音已經(jīng)綁定到Song上面,以后對Song這個變量的操作就是對聲音本身的操作) inc = 0; //給inc賦值為0 timerStart = getTimer(); //獲取歌曲開始播放的時間 labelTimeList = [30.8, 40.9, 50.3, 54.8, 60.6, 64.8, 81.5, 91.6, 100.9, 105.4, 111, 115.3]; //建立一個數(shù)組,里面的數(shù)字就是歌詞出現(xiàn)的時間,如30.8秒的時候出現(xiàn)第一句歌詞,依此類推 } onClipEvent (enterFrame) { //當(dāng)影片載入的時候 if (getTimer()-timerStart>labelTimeList[inc]*1000) { //如果現(xiàn)在的時間(既歌曲已經(jīng)播放的時間)減去歌曲開始的時間大于上面定義的數(shù)組中的一個時間,由于gettime獲得的時間是毫秒單位,因此要乘以1000轉(zhuǎn)換成秒 inc == inc++; //inc遞增 _parent.nextFrame(); //播放下一幀的內(nèi)容 } |
|