介紹 Tweener
filed in Flash on Aug.29, 2008 (2,446次檢視)
當Tweener還未出現的時候
當我還小的時間,曾看過電腦雜誌的Flash教學,見過有人教用以下的formula做到easing的效果:
在EnterFrame的event中﹕
myMc.x += (targetX – myMc.x) / FACTOR;
//targetX 是目標的X座標
//FACTOR是一個constant,數字愈大,easing的時間愈長
可是這個方法有很多缺點:
- 只做到減速效果
- tweening時間不能控制
- 令program更複雜
但當有人寫了Tweener這些tweening engine後,問題已不再存在了!
甚麼是Tweener
Tweener 是一個 open source 的 tweening engine(即是一系例的class),其主要功用就是可以利用actionscript動態地tween movieclip 的屬性,如x, y, scaleX, scaleY, alpha, width, height 等等。除此之外,你也可以用Tweener來tween object的屬性,如sound object的volume,textfield的座標,甚至是3D camera的位置等等,用途多不勝數。在之後的章節Stanley會介紹一些應用的例子。
大家都應該知道我們也可以用timeline制作transiton,但是用timeline卻有很大的限制:
- timeline即是hardcode的,對於制作很具互動性的RIA根本是沒可能
- timeline是frame-based的,即是如果timeline很複雜,Flash亦要每一個frame都畫出來,慢的電腦就會很不流暢,即是說播放時間不易控制
- timeline會令你的movieclip結更複雜
但是用Tweener,情況就恰好相反了:
- Tweener可以讓你動態地建立transition
- Tweener是time-based的,比如說你建立了2秒的transition,無論是快或慢的電腦都可以2秒完成
- Tweener是幫助你簡化movieclip的結構
總之,Tweener是一個可幫助你製作高互動性,流暢animation RIA不可或缺的工具。
Transition 的類型
Tweener的靈魂,就是它提供的transition types。Transition types是用來定義一個數值,是用甚麼的方法轉變到另一個目標數值,例如選用quadratic或是exponential的方式轉變。而物件移動或淡出淡入時都可以利用transition types建立easing,因而產生流暢的感覺。
下表就是Tweener提供的所有transition types:
詳情可以看 Tweener的文件:
http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html
* 其實這些Tweening forumula是由一位叫Robert Penner所創立的,有興趣可以看看他的網頁。他可是一位非常利害的人呢!
http://robertpenner.com/
比較其他Tweening Engine
其實除了Tweener外,還有很多其他的engine,如:
- TweenLite
- Boostworthy Animation System
- FuseKit
- Go
- KitchenSync
這些engine都各有特性,如果有興趣,可以看看它們的pros and cons呢。
http://dispatchevent.org/wp-content/uploads/2008/04/Tween-Engine-Comparisons.pdf


April 24th, 2009 on 3:02 am
不好意思
如果下載了engine之後要掛載到哪裡?
一直搞不太董 連帶的很多範例都不能正確執行
April 27th, 2009 on 6:39 pm
我搞懂了 不好意思打擾了
April 28th, 2009 on 1:52 am
Hi 燈塔,
當我想回覆你的時候原來你也弄好了~ 謝謝你的支持吧~
Stanley
October 30th, 2009 on 5:00 pm
hi Stanley:
我同樣遇到燈塔的問題.下載了engine之後要怎樣連結到FLASH裡?
唔好意思..還有問題想請教你, 我是一個AS 初學者..依然係base on timline做嘢…
好差…請問市面有沒邊本AS 3.0書比較好?(如adobe本官方as classroom in a book 好唔好?)
有冇咩方法可以有效improve到?可唔可以分享一下!謝謝你先!!
p.s.你個post成半年前我好outdated…….
himus
November 6th, 2009 on 10:17 am
如果要學,有幾本外國的書的series係幾好的~
教AS3.0:
http://www.amazon.com/Foundation-ActionScript-3-0-Flash-Flex/dp/1590598156/ref=pd_sim_b_5
教做animation:
http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_23?ie=UTF8&s=books&qid=1257473735&sr=1-23
千萬不要買TW 或 HK的flash 書,那些都是給designer 看的了…