本例主要在前面所學程式設計知識的基礎上進一步掌握元件類擴充套件類的編寫,通過編寫get 和 set 訪問器函式,為建立的元件類提供易於使用的程式設計介面,使得元件類的屬性在可以被訪問的基礎上進行良好的隱藏和封裝。本例還配合使用三角函式知識建立豐富特效,通過本例的製作,讀者可以掌握如何為元件類提供易於使用的程式設計介面,以及加深對三角函式知識的理解應用。本例思路:
建立例項背景。
繪製類似水泡的圖形,並轉換為元件類。
編寫元件類擴充套件類。
建立文件類。
例項步驟:
(1)新建乙個空白文件,舞台大小設定為400*300,幀頻設定為30,將舞台背景顏色設定為 #618d0e ,繪製乙個直徑為舞台高度大小的正圓,並填充放射狀漸變色,調整高光位置在下方,如下圖10-1所示。
其填充放射狀漸變色值為:#a7e600 - #078914 - #00552f 。調整色柄值,引數依次為:
色柄一:紅: 167,綠:230,藍: 0 alpha: 100%
色柄二:紅: 7,綠:137,藍: 20 alpha: 100%
色柄三:紅: 0,綠:85,藍: 47 alpha: 100%
圖10-1 繪製背景(2)建立乙個新圖層,命名為「高光」。繪製乙個半徑與步驟(1)中的圓形略小的同心圓形,並填充線性漸變色,使用「漸變變形工具」進行調整高光位置由上至下分布,如圖10-2 所示。
其填充線性漸變色值為:#ffffff - #ffffff 。調整色柄值,引數依次為:
色柄一:紅: 255,綠:255,藍: 255 alpha: 0%
色柄二:紅: 255,綠:255,藍: 255 alpha: 100%
圖10- 2 高光部分(3)再建立乙個新圖層,命名為「頂部高光」 。使用「橢圓工具」在頂部繪製乙個橢圓,填充線性漸變色,高光位置同上一樣分布,如圖10- 3所示。
其填充線性漸變色值為:#ffffff - #ffffff 。調整色柄值,引數依次為:
色柄一:紅: 255,綠:255,藍: 255 alpha: 0%
色柄二:紅: 255,綠:255,藍: 255 alpha: 68%
圖10-3 頂部高光(4)新建乙個影片剪輯,命名為「ball_mc」 。繪製類似小水泡的圖形,這裡我們繪製乙個放射狀漸變的圓形,大小約在20左右,如圖10-4所示。
其填充放射狀漸變色值為:#ffffff - #ffffff - #ffffff 。調整色柄值,引數依次為:
色柄一:紅: 255,綠:255,藍: 255 alpha: 36%
色柄二:紅: 255,綠:255,藍: 255 alpha: 9%
色柄二:紅: 255,綠:255,藍: 255 alpha: 0%
圖10-4繪製類似水泡圖形(5)為影片剪輯「ball_mc」新增元件類,如圖10-5所示。
圖10-5 新增元件類(6)下面是元件類擴充套件類。該類有三個私有屬性,如第11到13行**所示,我們在第22、第25行**分別定義其屬性對應的get()方法,為該元件類例項提供可訪問對應屬性的介面,第三個屬性還提供set()方法,如第29行**所示。在該類建構函式中還初始化了三個屬性,分別產生隨機的newx、newy值,如第17到19行**所示。as3**:
/**
* 該類為擴充套件元件類
* @author lbynet
* @version 0.1
*/
package
public function get _newx():number
public function get _newy():number
public function set _w(i:number)
public function get _w():number
}
} (7) 下面的main類是本例項的文件類,該類定義了三個屬性,分別是儲存水泡總數、數量累加變數和隨機寬、高比例值, 第12到14行**所示。在建構函式中呼叫init()方法進行初始化兩個屬性值,並註冊enter_frame 事件偵聽器,如第20到22行**所示。
/**
* 該類為主程式類
* @author lbynet
* @version 0.1
*/
package
private function init() (8)下面是兩個偵聽器函式,enterframehandler是前面註冊的偵聽器對應的函式,該函式建立了totalnum+1個ball_mc例項,並例項的y座標值統一設定在舞台高度之外,如第29到31行**所示。接著我們在第33行**中隨機生成乙個0到1之間的隨機小數,並與生成的ball_mc例項對應的寬、高進行相乘得到隨機的寬、高值,如第33到35行**所示。if()語句的最後將ball_mc例項新增到顯示列表並註冊enter_frame 事件偵聽器,和進行i值的累加,如第37到39行**所示。
as3**
private function enterframehandler(event:event) {
var _mc:sprite;
if (this.i (9)removeenterframehandler是生成的每個ball_mc例項對應的偵聽器函式,在該函式中,我們對ball_mc例項的w屬性進行累加,並設定其x、y座標值,如上圖中第45到48行**所示,其中x座標值被設定為舞台中間大小 + 對應ball_mc例項的newx屬性值 * 其w屬性的正弦值,如上圖中第47行**所示,從而使對應ball_mc例項在舞台中間的左右來回作運動,而在y軸方向上賦予其newy值,使其產生y軸方向上的遞減(也就是ball_mc例項向上運動),如上圖中第48行**所示,最終產生盤旋上公升效果,如本例效果圖所示。下圖所示是本例所使用的三角函式簡單原理圖。
圖10-6 三角函式原理(10) 當ball_mc例項運動致舞台上方外,便清除該例項註冊的enter_frame 事件偵聽器和該該例項,並進行i值的遞減,如步驟(7)第50到55行**所示。我們還可以擴充套件思路,創作更多效果,如下圖所示的小球從向而上運動,作類似噴泉效果。還可以做各種類似冒泡效果。
圖10-7 擴充套件例項
手機Flash主題動畫製作
url color 003399 索愛 color url url color 003399 諾基亞 color url url color 003399 三星手機 color url 和macromedia達成了合作協議,全面支援flash lite 1.1。既然手機上能夠使用flash動畫主題,...
製作動畫的軟體flash
為什麼要學習flash呢?不為什麼,從事關於計算機有關的行業,我們有很多選擇。比如 1 平面廣告設計 2 電腦維護 3 網頁設計 4 開發 5 網路安全 6 機械製圖 7 建模工程師 8 軟體開發 10 遊戲設計師 11 動畫設計師 等等一系列 那麼今天我要介紹就是這款製作動畫的軟體叫flash f...
flash課件製作成品 Flash動畫課件的特點
隨著教育教學的不斷改革,教學市場需求的日益增加。教學材料的需求也越來越大,要求更是越來越高,課件作為現在比較流行的教學工具自然也伴隨著需求在不斷的改革創新。在多 教學的模式下,flash課件就受到了更多人的喜愛和推崇。flash課件之所以受到推崇,是因為其獨特的表現形式,讓教學資訊更加容易被接受,相...