不用加任何參數(其實也沒有參數加了^_^)就完成了。
前一個例子中的鼠標指針只要FLASH動畫開始播放就變成自己定制的效果了,而我們在很多FLASH網站中看到的效果并不是這樣,而是當鼠標移動到按鈕上或指定位置上才出現定制的效果,這又是怎樣制做成的呢?通過學習制作這個效果,我們又能學到幾條重要的Action。讓我們再次打開剛才的例子,按Ctrl+L調出這個例子的符號庫,然后按Ctrl+N新建一個文件,把剛才那個例子的符號庫中的鼠標指針動畫Movie Clip托放到場景中,但是位置要放在灰色的場景鏡頭以外區(qū)域,把它取名為newmouse(注意:這個名字不能改成mouse,否則在執(zhí)行Action時會產生錯誤),然后按Ctrl+F8新建一個Button,把這個Button做好后,放到主場景的一個新的圖層里,編輯它的Action,加入StartDrag,填入對象名稱newmouse,選中復選框"鎖定鼠標到中央",我們發(fā)現在StartDrag這行上面還有一條Action:"on (release) {",選中這條Action把下邊的復選框中的釋放(release)勾去,選中指針經過(rollOver)(見圖二),
這樣就把StartDrag的觸發(fā)條件由鼠標指針釋放時觸發(fā)改為了鼠標指針經過時觸發(fā)。按上個例子的方法在這個條件下加上Action:"Mouse.hide();"。選中此時的最后一行Action:"}",加入動作StopDrag,把觸發(fā)條件改為指針離開(rollOut),在這個條件下在加入對象>鼠標>show,這時這個特效就基本完成了,但是我們預覽時會發(fā)現一個問題,當我們把鼠標從按鈕上移開時,剛才我們定制的鼠標指針動畫并沒有消失,而是停在了按鈕的邊緣上,這就需要我們利用另外一個Action把這個鼠標指針動畫從鏡頭里移開。我們再次編輯按鈕的Action,在指針離開的觸發(fā)條件下再加入另外一條Action:動作>setProperty,函數屬性選擇_x(X軸),目標填入newmouse,數值填入1000(你建的場景寬度不會比這個還大吧?)(見圖三),
這次再預覽,怎么樣,問題解決了!
這次我們要做點什么呢?還是鼠標跟隨,但是這次這個鼠標跟隨和我們講的第一個例子有些不同,
這個鼠標跟隨效果是不是更酷呀:),現在我們就開始制作它!先制作一個Movie Clip動畫,在最后一幀中編輯Action,加入Action>Stop,把它托放到場景中鏡頭外區(qū)域,取名為movie:,編輯第一幀的Action,這次我們按Ctrl+E選擇專家模式(在熟練掌握Action后,這種方式更快捷),輸入以下代碼:
duplicateMovieClip ("/movie:", "movie:" add num, Number(num));
setProperty ("movie:" add num, _y, _ymouse);
setProperty ("movie:" add num, _x, _xmouse);
num = Number(num)+1;
if (num>10) {
num = 0;
}
然后按F6復制這個幀3次,編輯最后一幀的Action選擇基本動作中的轉到(gotoAndplay),保持默認參數,預覽完成。讓我們分析一下這段Action代碼吧:
duplicateMovieClip ("/movie1", "movie1" add num, Number(num));
是復制場景中的對象movie1,把它的名字分別命名為"movie:"加變量num的形式,放在不同的深度;
setProperty ("movie:" add num, _y, _ymouse);
setProperty ("movie:" add num, _x, _xmouse);
這兩句設定了新復制的Movie clip的橫縱坐標為鼠標當前位置;
num = Number(num)+1;
變量num的累加不停復制Movie clip;
為了防止復制過多,導致資源過度占用,通過if (num>10) {num = 0;}控制Movie clip的最大復制數量。
怎么樣,只要你稍懂一些編程知識,就能理解這些Action代碼吧,如果你是編程高手,那你就可以利用不同的數學公式做出復雜的Action程序,從而實現驚人的特殊效果! 好了,鼠標特效特效我們就介紹這么多了,你是否對FLASH5的Action有了一定的了解了呢?如果你對Action有興趣,歡迎通過Email與我交流,我的郵箱地址:vitalnet_yh@sina.com。