萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> Flash教程 >> Flash MX讓鼠標指針閃起來

Flash MX讓鼠標指針閃起來

  大家在欣賞Flash的時候,常常會在一些動畫中發現,把鼠標指針放入畫面內就會變成有趣的動畫指針,而且形狀還會隨著你的移動、點擊等動作發生變化。其實這種效果並不難實現,今天我們就來看一個這樣的例子。

  實例效果:

  動畫開始播放時,鼠標指針是一個大小不停變化的箭頭;當移動到物體上的時候,顯示為手形;在物體上按下鼠標左鍵的時候,變成“握拳”形;松開左鍵後再恢復為手形(如圖1)。

Flash MX讓鼠標指針閃起來 三聯

  圖1 鼠標指針的三種樣式

  制作步驟:

  1、我們先來制作本例需要的一些按鈕(Button)和影片(MovieClip)元件。首先啟動Flash MX建立一個新文件,按Ctrl+F8創建一個名為“物體一”按鈕(Button)元件,由於按鈕並不是本例重點,所以樣式隨意。同理再創建一個名為“物體二”的影片(MovieClip)元件(注:這裡之所以制作兩種不同的元件,是為了後面介紹交互性動態光標的不同用法)。

  再創建一個名為“箭頭”的影片元件,制作出大小不斷變化的箭頭,制作過程比較簡單,這裡就不多說了。

  2、按Ctrl+F8創建一個名為“動畫指針”的影片元件,按F6兩次,插入兩個關鍵幀,這樣時間軸上就有了三個關鍵幀,為第二和第三幀加上Actions語句:“Stop();”。按Ctrl+L打開元件庫(Library),將第一步中創建好的“箭頭”影片拖放到第1幀中,在第2幀中繪制一個“手形”標志,在第3幀中繪制“握拳”標志。單擊窗口下方的Properties按鈕打開屬性框,分別為三幀加上幀名(Frame Lable)。在本例中,我們稱第1幀為“zhengchang”、第2幀為“yidao”、第3幀為“anxia”(如圖2)。

  3、回到主場景中,將庫中的“物體一”、“物體二”、“動畫光標”都拖放到場景中。單擊窗口下方的Properties按鈕打開屬性框,分別為三個物體加上實例名(Instance Name):Object1、Object2、dhzz;選中“物體一”影片,右擊選擇Actions,輸入以下語句(注“//”後面的文字是語句說明,無需輸入):

  on (press) {

  startDrag("_root.object1");

  }//在按鈕上按下鼠標開始拖動

  on (release) {

  stopDrag();

  }//在按鈕上松開鼠標停止拖動

  4、利用同樣的方法為“物體二”影片加上語句:

  onClipEvent (mouseDown) {

  startDrag("_root.object2");

  }//在影片上按下鼠標開始拖動

  onClipEvent (mouseUp) {

  stopDrag();

  }//在影片上松開鼠標停止拖動

  大家不難看出,雖然都是拖動,但由於對象的屬性不同,所以語句也有所不同。在Flash MX中利用上述的兩種語句可以實現對任何物體的拖動,十分方便。

  圖2為關鍵幀定義幀名,以便於管理

  5、選擇主場景時間軸上的第1幀,單擊右鍵選擇“Actions”,為幀加上如下語句:

  fscommand("trapallkeys", false);

  //關閉播放器快捷鍵

  fscommand("showmenu", false);

  //關閉播放器右鍵快捷菜單

  function showzhengchang() {

  dhzz.gotoAndStop("zhengchang");

  }//定義動畫正常播放時鼠標指針的樣式

  function showyidao() {

  dhzz.gotoAndStop("yidao");

  }//當移動到某個物體上時鼠標指針的樣式

  function showanxia() {

  dhzz.gotoAndStop("anxia");

  }//在物體上按下鼠標左鍵時鼠標指針的樣式

  object1.onrollout = showzhengchang;

  //不在物體上顯示的正常的鼠標指針樣式

  object1.onRollover = showyidao;

  //當鼠標移動到“物體一”上的時候,顯示定義好的指針樣式

  object1.onpress = showanxia;

  //當在“物體一”上按下鼠標左鍵的時候,顯示定義好的指針樣式

  object1.onRelease = showyidao;

  //當在“物體一”上松開鼠標左鍵的時候,顯示定義好的指針樣式

  object2.onRollover = showyidao;

  object2.onrollout = showzhengchang;

  object2.onpress = showanxia;

  object2.onRelease = showyi

  dao;

  “物體二”與“物體一”語句相似,大家要注意語句的格式。

  到這裡為止,總算大功告成啦!按Ctrl+Enter欣賞一下自己的勞動成果。怎麼樣,感覺不錯吧!如果將“手形”和“握拳”樣式也全部制作成動畫的話,效果會更“酷”哦!

copyright © 萬盛學電腦網 all rights reserved