4.1、要添加遮罩了。在遮罩圖層的第一幀里創(chuàng)建一個mc,元件名和實例名均為mask。接著在里頭添加這么一段形狀補間動畫:
其中,時間軸上的首尾兩幀均加上:
stop();
主時間軸的第四幀追加:
mask.gotoAndPlay(2);
此時運行,效果就不再生硬了,是一個簡單的遮罩動畫切換效果。 但是,為了更方便地實現(xiàn)隨機效果,這種剛才筆者不推薦的做法就不再用了。剛才只是為了方便大家測試效果而已。
5.1、 把時間軸改成下圖的設(shè)置:
動作腳本中每一幀都是寫:
stop(); mask.gotoAndPlay(2);
而遮罩的mc這一圖層的不同幀都放置一些跟剛才的形狀補間類似的MC動畫,實例名均為mask。最好動畫的開頭都不跟圖片容器有接觸,結(jié)尾則把整個圖片容器覆蓋。達到遮罩顯示新圖片的效果。 然后,主場景第四幀控制mask的代碼也要跟著改變,把mask.gotoAndPlay(2);改為mask.gotoAndStop(1+random(mask._totalframes-1))。于是每一次切換,mask就會跳轉(zhuǎn)到不同的幀。
5.2 、修復(fù)一個Bug: 筆者以為已經(jīng)成功的時候,測試才發(fā)現(xiàn),有些時候還是不能自然過渡。一直以為是動畫效果的問題,調(diào)來調(diào)去,還是不行。好不容易地,筆者通過輸出每次跳轉(zhuǎn)的幀才知道,原來當(dāng)兩次跳轉(zhuǎn)的位置一樣的時候,遮罩動畫動不起來,因為沒有發(fā)生幀跳轉(zhuǎn)。為此,筆者想到了用如下方法調(diào)整: 把隨機跳轉(zhuǎn)代碼轉(zhuǎn)移到mask里頭,在mask里添加最后一幀,其中,在遮罩的MC圖層里隨便放入一些圖形,但是不要跟圖片容器重疊。該幀的動作腳本圖層添加代碼:gotoAndStop(random(_totalframes-1)+1),跳轉(zhuǎn)到除最后一幀的任一幀里頭運行遮罩動畫效果。然后,主時間軸第四幀中的最后一句也相應(yīng)地改為mask.gotoAndStop(mask._totalframes),讓mask先跳轉(zhuǎn)到最后一幀,再隨機播放效果。這樣,哪怕兩次隨機的值一樣,幀也會發(fā)生跳轉(zhuǎn),過渡動畫一定可以播放成功。
這里需要說明一點的是,如果你在2.2步創(chuàng)建的graph元件不是矩形或者Alpha不等于100的話,那么,當(dāng)圖形因為比例問題而不占滿整個graph的時候,舊圖片將有可能因為新圖片面積小而不會被完全覆蓋,在下次輪換的時候,就會看到很生硬的圖片消失效果。所以,筆者建議大家的graph元件最好是個全不透明的矩形。
至此,自動過渡播放的效果已經(jīng)實現(xiàn)了。下面就是按鈕控制的實現(xiàn)。
出處:藍色理想
責(zé)任編輯:moby
上一頁 圖片輪換效果 [4] 下一頁 圖片輪換效果 [6]
◎進入論壇Flash專欄版塊參加討論
|