Silverlight 3 Beta 1にあってWPF 3.5にないシリーズ「Easing Functions」
New animation API for Silverlight (Easing Functions) – Silverlight and Windows Phone SDK
以前の投稿で紹介したとおり、WPF 3.5やSilverlight 2では、スプライン補間(KeySpline)を使ってイージング(アニメーション中の段階的な加速や減速のこと)を行うことが可能でした。この方法は、細かな設定が可能ですが、Expression Blendのような3次ベジェ曲線の2つの制御点をマウスを使って直観的に設定できるツールがないと、設定が困難だったと思います。Silverlight 3 Beta 1で追加されたEasing Functionsを使うと、もっと手軽にイージングを設定することができます。
既定で用意されているEasing Functionは11種類で、インターフェイスとなっているIEasingFunctionはパブリックなので自分でEasing Functionを定義することも可能なようです。
- BackEase
- BounceEase
- CircleEase
- CubicEase
- ElasticEase
- ExponentialEase
- PowerEase
- QuadraticEase
- QuarticEase
- QuinticEase
- SineEase
これらEasingFuctionを設定するプロパティとして、下記の3つのクラスにEasingFuctionプロパティが追加されています。
- ColorAnimation
- DoubleAnimation
- PointAnimation
また、新たに下記の3つのキーフレームクラスが追加され、これらのクラスもEasingFuctionプロパティを持っています。
- EasingColorkeyFrame
- EasingDoubleKeyFrame
- EasingPointKeyFrame
Expression Blend 3 Previewの場合、WPFのプロジェクトはイージングにEasingFuctionのタブが表示されませんが、
Silverlight 3 Beta 1のプロジェクトではEasingFuctionのタブが表示され、コンボボックスから既定で用意されたEasingFuctionを選択することができるようになっています。