(簡介:本文簡要介紹了TweenMax類的代碼結(jié)構(gòu)、構(gòu)造函數(shù)等,重點說明了在flash中引入這個第三方類庫可以代替時間軸動畫,大大簡化了flash課件的制作。并且給出了應(yīng)用TweeMax類制作flash課件的步驟及簡要代碼結(jié)構(gòu)。)
Flash課件以體積小巧、交互功能強大、動畫效果良好而在眾多課件制作軟件中占有重要地位。但其制作過程較為繁雜,一個小小的動畫效果就要占用幾十幀及至上百幀,使得flash的源文件極為龐雜,特別是在文字緩動效果的處理方面,極不方便。這是許多同行對flash課件望而卻步的原因。
其實,我們只要引入一個小巧的外部類庫,flash的這種不便就可迎刃而解。我們完全可以用簡單的代碼來代替時間軸動畫。下面,先介紹一下這個外部類,然后結(jié)合筆者開發(fā)flash課件的經(jīng)驗談?wù)勥@個第三方類庫的實際應(yīng)用。
一、TweenMax介紹
TweenMax建立在TweenLite核心類及TweenFilterLite基礎(chǔ)之上,它為Tween家族增加了新的受歡迎的功能(盡管只是錦上添花),從而使家族更加壯大,比如貝賽爾緩動、暫停/繼續(xù)能力,簡便的連續(xù)緩、16進制顏色緩動及更多的內(nèi)容。
1.主要代碼結(jié)構(gòu)。com.greensock包里面,首先最主要的就是TweenMax.as;然后一個常用的是com.greensock.easing.*;里面包含了15個緩動;另外一個是com.greensock.events.TweenEvent,不過感覺不太常用。
2.構(gòu)造函數(shù):TweenMax(target:Object,duration:Number,vars:Object)
target:Object——需要緩動的對象即運動的物體;
duration:Number——緩動持續(xù)時間;
vars:Object——其他參數(shù)(特有屬性29個,插件17個,公共屬性10個,公共方法20個)保存了所有的參數(shù)。
TweenMax提供的方法大多都會返回一個TweenMax實例。即TweenMax Object。
3.屬性、方法、Plug及各種緩動介紹(限于篇幅,略去,大家可參照TweenMax(及TweenLite)中文手冊與參數(shù)說明)。
二、TweenMax外部緩動類在課件開發(fā)應(yīng)用
1.下載TweenMax源代碼壓縮包,解壓縮后復(fù)制到flash安裝文件夾下。如:
C:\Program Files\Adobe\Adobe Flash CS5\greensock-tweening-platform-as3。
2.添加類路徑。編輯-首選參數(shù)-ActionScript-ActionScript3.0設(shè)置-添加新路徑;然后使用“瀏覽到路徑”將TweenMax源碼路徑添加到類路徑。
3.啟動flash cs3,新建并保存一個課件源文件。
4.與PPT文件類似,我們在每一個幀的舞臺上添加一個頁面,并設(shè)為關(guān)鍵幀,該頁面由文字、圖形或者影片剪輯組成,將我們要緩動的對象命名,如幀1上邊有一段文字與一個影片剪輯,我們可以命名為tf1,mc1,其他幀的情況也類似。這樣,我們設(shè)計課件的時候就如PPT一樣簡單快捷,只占用一幀就可完成一個頁面的設(shè)置,我們只考慮頁面的版式,而其元素的動畫效果就交由TweenMax來完成。
5.在第一幀上寫代碼(當(dāng)然我們也可以采用文檔類的方法),其功能主要是通過點擊光標(biāo)鍵完成切換頁面,點擊按鈕可以實現(xiàn)某一幀上對象的緩動動畫。
import com.greensock.*;
import com.greensock.easing.*;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.ui.Keyboard;
import flash.events.KeyboardEvent;//導(dǎo)入tweenMax及其他一些內(nèi)部類。
stop();
addFrameScript(0,f1,1,f2,2,f3)//給不同的幀添加代碼
function f1()
{
var twmc:TweenMax=TweenMax.from(mc1,1,{x:65,y:117,ease:Back.easeIn},delay:2);
//定義的是運動對象的初始狀態(tài),運動到當(dāng)前狀態(tài)。x,y冒號后邊的值是mc1的初始坐標(biāo),mc1的屬性有很多,如alpha,rotation,scaleX,scaleY,tint等,用不同的屬性可以完成不同的動畫,如漸隱漸顯、角度、大小、顏色等的動畫效果。Ease后是緩動函數(shù)。delay是延遲動畫時間,多個緩動的情況下設(shè)置延遲時間,可以隨著時間逐個完成動畫。如果是TweenMax.to,運動情況正好相反。
我們通過以上示例大體將一個課件的結(jié)構(gòu)寫了出來(當(dāng)然,實際課件的代碼要繁雜許多),由于我們引入了外部類TweenMax,從而使得我們不用在時間軸上做一些動畫效果,時間軸變得非常簡潔,可能一個完整的課件用十幾幀及至幾幀便可將所有的頁面設(shè)計完成,這是利用用時間軸做動畫動輒幾十幀上百幀的課件所無法想象的。更重要的是我們利用TweenMax完成的這些緩動動畫修改起來非常方便,更是時間軸動畫無法比擬的,由此可見其方便便捷。
參考文獻:
[1]TweenMax中文手冊與參數(shù)說明.flash幫助文件.