Flash實例教程——魚戲蓮葉間 2

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- Flash實例教程——魚戲蓮葉間 2 (http://www.webasp.net/article/22/21365.htm)
-- 作者:未知
-- 發佈日期: 2005-04-30
技術要領

  製作Flash動畫「魚戲蓮葉間」的技術要領主要在於幾個ActionScript命令的應用。本例用到的ActionScript命令主要有:

  

1. attachMovie ( idName, newName, depth )

  從庫中取一個為動作腳本設置了鏈接的元件並將其附加到場景中。idName是庫中要附加到舞台上的影片剪輯元件的鏈接名稱,也就是在「鏈接屬性」對話框中的「標識符」字段中輸入的名稱。newName是為使用該命令附加到場景中的影片剪輯實例指定的唯一名稱。depth是一個整數,用來指定影片剪輯所放位置的深度級別,這個深度級別(level)是在動畫播放時由Flash分配的,它與層(layer)的概念類似但又有所區別。每個深度級別只能容納一個影片剪輯實例,如果為同一級別附加新的實例,舊實例將自動消失。表示深度級別的整數越大,相當於顯示的層越貼近我們的視線。

  本例用到的魚頭、魚身事先並不從庫拖入到場景中,而是使用attachMovie命令在動畫播放時從庫中調用,並利用depth屬性將它們的層級區分開來。

  使用removeMovieClip 或 unloadMovie 命令可以刪除用 attachMovie 附加的影片剪輯實例。

2. myMovieClip.duplicateMovieClip(newName, depth)

  在影片播放時創建指定影片剪輯myMovieClip的實例,用newName指定實例的唯一名稱,用depth指定實例的深度級別。duplicateMovieClip與attachMovie方法有些類似,但是duplicateMovieClip是複製已經添加到場景中的剪輯,而不是從庫中調用。如果刪除了場景中用作調用的父影片剪輯,所有用該方法複製出的實例都將一同被刪除。

    本實例中的蓮葉便是用duplicateMovieClip命令添加的。看完本實例後有讀者可能會問,場景中已經有蓮葉的影片剪輯實例了,為什麼還要用duplicateMovieClip命令將其複製一遍,這個操作是否多餘?原因在於duplicateMovieClip命令指定了蓮葉的深度級別,否則它們將默認顯示在最低級別,那樣的話,就不是魚戲蓮葉間,而是魚戲蓮葉上了。

  用duplicateMovieClip添加的影片剪輯可以用 removeMovieClip方法刪除。、

  

3. with(object){

  statement(s);

  }

  

  使用object參數指定一個對像(比如影片剪輯),並使用 statement(s) 參數計算對像中的表達式和動作,為對像設置屬性。使用with語句可以避免重複書寫對象的名稱或路徑。

  在為魚的各節設置屬性時使用該語句以簡化腳本程序。


webasp.net