利用Tweener製作動畫 – 其他參數

因為這陣子馬老師擔任了崇右數位媒體設計系的系主任後業務繁忙,好久沒在部落格上貼文章了,現在總算有些空檔可以繼續貼文,之前寫了有關利用Tweener製作動畫的文章,接著這篇文章來介紹在Tweener中其他可用的參數,請各位參考,不過詳細的部分還是可以參考官網的說明。


delay:可以設定在動畫完成後多久,再接續進行下一動畫(Tweener delay 範例

import caurina.transitions.Tweener

Tweener.addTween(ball, {x:150, time:1});
//用一秒鐘的時間移動ball元件至x為150的位置
Tweener.addTween(ball, {y:100, time:1, delay: 2});
//等待兩秒後用一秒鐘的時間移動ball元件至y為100的位置

getTweenCount:取得目前動畫的補間數量(Tweener getTweenCount 範例

import caurina.transitions.Tweener

Tweener.addTween(ball, {x:150, time:2});
Tweener.addTween(ball, {y:100, time:2,delay:2});
txt.text="元件Ball共有" + Tweener.getTweenCount(ball) + "段補間動畫"

getTweens:取得目前動畫所更改元件的屬性(Tweener getTweens 範例

import caurina.transitions.Tweener

Tweener.addTween(ball, {x:150, y:100, alpha:1, time:2});
txt.text="元件Ball共被製作了" + Tweener.getTweens(ball) + "的屬性變化"
//輸出元件被補間的屬性

getVersion:取得目前使用Tweener的版本(Tweener getVersion 範例

import caurina.transitions.Tweener

Tweener.addTween(ball, {x:150, y:100, time:2});
txt.text="本動畫使用Tweener版本為:" +Tweener.getVersion()
//輸出元件使用Tweener的版本

onStart、onUpdate、onComplete:分別在補間「開始」、「進行中」、「結束」呼叫不同的函數執行(Tweener complex 範例

import caurina.transitions.Tweener
import flash.events.MouseEvent;

Tweener.addTween(ball, {x:150, y:100, time:3,onStart:startFn,onUpdate:updateFn,onComplete:completeFn});
/*用三秒鐘的時間移動ball元件至x為150和y為100的位置
開始時執行startFn函數
過程中執行updateFn函數
完成後執行completeFn函數
*/
function startFn(){
	ball.alpha=0.1
}

function updateFn(){
	ball.alpha+=0.02
	txt.text="球體正在移動"
}

function completeFn(){
	ball.alpha=1
	txt.text="現在可以拖曳球體"
	ball.addEventListener(MouseEvent.MOUSE_DOWN,downFn)
	ball.addEventListener(MouseEvent.MOUSE_UP,upFn)
	function downFn(e:MouseEvent){
		ball.startDrag()
	}
	function upFn(e:MouseEvent){
		ball.stopDrag()
	}
}

addCaller:在指定的時間內呼叫某函數N次(Tweener addCaller 範例

import caurina.transitions.Tweener
var i=0
no.text=i
Tweener.addCaller(no, {onUpdate:go, time:10, count:10 , transition:"linear"});
//在10秒內針對no執行10次go函數
//Tweener.addCaller(no, {onUpdate:go, time:10, count:10 , transition:"easeinquad"});
//在10秒內針對no執行10次go函數且速度越來越慢

function go(){
	i++
	no.text=i
}

controlTweens:控制由Tweener所產生的動畫(Tweener controlTweens 範例

import caurina.transitions.Tweener

Tweener.addTween(ball, {x:280, time:20,transition:"linear"});

pauseBtn.addEventListener(MouseEvent.CLICK,pauseFn)
resumeBtn.addEventListener(MouseEvent.CLICK,resumeFn)

function pauseFn(e:MouseEvent){
	pauseBtn.visible=false
	resumeBtn.visible=true
	Tweener.pauseAllTweens(); 
}

function resumeFn(e:MouseEvent){
	pauseBtn.visible=true
	resumeBtn.visible=false
	Tweener.resumeAllTweens(); 
}

soundVolume:利用Tweener來控制音量(Tweener soundVolume 範例

import caurina.transitions.Tweener;
import caurina.transitions.properties.SoundShortcuts;
SoundShortcuts.init();

var snd:Sound = new heavy  ;
var chn:SoundChannel = new SoundChannel  ;
chn = snd.play(0,1000);

btn.addEventListener(MouseEvent.CLICK,clickFn)

function clickFn(e:MouseEvent){
	Tweener.addTween(chn, {_sound_volume:0, time:10});
}
//點選按鈕後聲音會在十秒內逐漸歸零

FilterShortcut:Tweener也可以控制Flash中的各種濾鏡,利用濾鏡來製作動畫或互動(blurFilter 範例dropShadowFilter 範例

blurFilter –

import flash.filters.*; 
import caurina.transitions.properties.FilterShortcuts;
import caurina.transitions.Tweener
FilterShortcuts.init();

var blur:BlurFilter=new BlurFilter

stage.addEventListener(MouseEvent.CLICK,clickFn)
function clickFn(e:MouseEvent){
	Tweener.addTween(ball, {time:0,_Blur_blurX:20,_Blur_blurY:20});
	Tweener.addTween(ball, {x:mouseX, y:mouseY, time:2,_Blur_blurX:0,_Blur_blurY:0, transition:"easeOutQuart"});
}

dropShadowFilter –

import caurina.transitions.properties.FilterShortcuts;
import caurina.transitions.Tweener
import roMc

FilterShortcuts.init();
stage.addEventListener(Event.ENTER_FRAME,shadowFn)
function shadowFn(e:Event){
	Tweener.addTween(ball, {time:0,_DropShadow_angle:roMc.ro(ball)+180,_DropShadow_distance:6});
}

以上是有關Tweener參數的一些範例,這邊也把Tweener Parameters 壓縮檔給各位,提供有興趣的同學參考。

You may also like...

10,100 Responses

  1. sitemap.xml表示:

    Whhat i do noot reealize is actually how you’re noo longer reaally
    much more smartly-appreciated than you maay be riht
    now. You’re so intelligent.Youu alfeady know therefore considesrably witth regardds to thks topic,
    made me personally believe it frim a llot of varied angles.

    Itss like meen aand women aree noot interested unless it’s onne thinng
    to accomplieh wjth Womjan gaga! Your personal stuffs excellent.
    At all tomes handle iit up!

  2. sitemap表示:

    hi!,I like yyour writing very a lot! percentage we
    communicate more about your post oon AOL? I require a
    specialist onn this arfea to unravesl my problem.
    Maybe that’s you! Looking forward to seee you.

  3. RobertRix表示:

    india pharmacy mail order: п»їlegitimate online pharmacies india – mail order pharmacy india

  4. JamesSpisk表示:

    http://buydrugsonline.top/# order drugs online

  5. DanielDit表示:

    indian pharmacy paypal india pharmacy indian pharmacies safe

  6. Richardves表示:

    canadian pharmacy ltd: canadian pharmacy 24h com safe – online pharmacy canada

  7. RobertRix表示:

    thecanadianpharmacy: safe online pharmacies in canada – reputable canadian pharmacy

  8. VernonTratt表示:

    buy doxycycline 100mg tablets: Buy doxycycline hyclate – doxycycline australia cost

  9. Charlesrhype表示:

    buy cipro online Buy ciprofloxacin 500 mg online ciprofloxacin 500mg buy online

  10. JamesFliva表示:

    https://lisinopril.auction/# lisinopril 20 mg canadian pharmacy

  11. ScottJeove表示:

    doxycycline over the counter australia: Buy doxycycline 100mg – doxycycline canada pharmacy

  12. sitemap.xml表示:

    An oitstanding share! I have jusst forwadded tuis ojto a friennd
    whoo had been dooing a lttle homework oon this.
    Andd he actually ofdered mme dinner because I fojnd it for him…

    lol. So let me reword this…. Thank YOU for the meal!! But yeah, thanx for spending tike tto discuss his issuje here oon yoyr
    site.

  13. Charlesrhype表示:

    amoxicillin pharmacy price buy amoxil amoxicillin without rx

  14. JamesFliva表示:

    https://lisinopril.auction/# lisinopril 10 mg price in india

  15. ScottJeove表示:

    ciprofloxacin 500mg buy online: ciprofloxacin without insurance – buy ciprofloxacin

  16. VernonTratt表示:

    doxycycline drug: Buy Doxycycline for acne – doxycycline 60 mg

  17. Charlesrhype表示:

    zithromax 500 mg buy cheap generic zithromax where can you buy zithromax

  18. JamesFliva表示:

    http://lisinopril.auction/# 60 mg lisinopril

  19. ScottJeove表示:

    lisinopril pills 10 mg: buy lisinopril – lisinopril 2.5

  20. Charlesrhype表示:

    buy ciprofloxacin tablets buy ciprofloxacin tablets ciprofloxacin over the counter

  21. VernonTratt表示:

    doxycycline pills cost: doxycycline buy – doxycycline 50 mg coupon

  22. JamesFliva表示:

    http://lisinopril.auction/# order lisinopril from mexico

  23. ScottJeove表示:

    amoxicillin canada price: buy amoxil – where can i get amoxicillin

  24. Charlesrhype表示:

    doxycycline 10mg cost Buy doxycycline for chlamydia 40mg doxycycline prices

  25. ScottJeove表示:

    2 lisinopril: Buy Lisinopril 20 mg online – order lisinopril online united states

  26. JamesFliva表示:

    http://azithromycin.bar/# zithromax online pharmacy canada

  27. VernonTratt表示:

    ciprofloxacin mail online: ciprofloxacin without insurance – buy cipro cheap

  28. Charlesrhype表示:

    zithromax 500 zithromax antibiotic generic zithromax 500mg india

  29. ScottJeove表示:

    zithromax online usa no prescription: zithromax antibiotic – generic zithromax 500mg

  30. Williamlooda表示:

    https://edpills.monster/# top ed drugs

發佈回覆給「Charlesrhype」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。