任何動畫要表現運動或變化,至少前後要給出兩個不同的關鍵狀態,而中間狀態的變化和銜接電腦可以自動完成,在Flash中,表示關鍵狀態的幀動畫叫做關鍵幀動畫
關鍵幀動畫 Keyframe Animation
所謂關鍵幀動畫,就是給需要動畫效果的屬性,準備一組與時間相關的值,這些值都是在動畫序列中比較關鍵的幀中提取出來的,而其他時間幀中的值,可以用這些關鍵值,採用特定的插值方法計算得到,從而達到比較流暢的動畫效果。
在JSR184中,使用AnimationTrack、AnimationController和KeyframeSquence三個類來實現關鍵幀動畫:
AnimationTrack:是一個集合類(Composition),用來將AnimationController、KeyframeSquence和一個特定屬性(Target Property)捆綁起來,這種結構也使得同一個AnimationController和KeyframeSquence可以被不同的關鍵幀動畫復用。在每一個Object3D對象中,通過addAnimationTrack和removeAnimationTrack方法,管理一組AnimationTrack序列;當使用animate方法,計算該Object3D對象關鍵幀動畫時,所有在序列中的AnimationTrack都會被依次計算,此外若該Object3D對象有到其他Object3D的引用,則所有引用的Object3D的animate方法也會被依次執行。
AnimationController:通過指定採樣點和採樣速度,實現從WorldTime到SquenceTime的映射,從而控制動畫的播放效果,如:暫停,繼續,快進、倒退等。
KeyframeSquence:用來保存所有的關鍵幀的值,同時指定關鍵幀循環的方式,以及計算時的插值方法。
是利用人產生的錯覺。