Key-frame animations and easing function animations
缓动函数
缓动函数支持你将自定义数学公式应用到动画。数学运算通常对于制作在 2-D 坐标系中模拟真实物理效果的动画非常有用。例如,你可能想要某个对象以理想的方式弹跳或表现,就好像在弹簧上运动一样。你可以使用关键帧或 From/To/By 动画来模拟这些效果,但是这样工作量很大,而且动画比起使用数学公式来说准确性要低。
缓动函数可以以三种方式应用于动画:
- 按照上一节中的说明,通过在关键帧动画中使用缓动关键帧。使用 EasingColorKeyFrame.EasingFunction、EasingDoubleKeyFrame.EasingFunction 或 EasingPointKeyFrame.EasingFunction。
- 通过在 From/To/By 动画类型之一上设置 EasingFunction 属性。使用 ColorAnimation.EasingFunction、DoubleAnimation.EasingFunction 或 PointAnimation.EasingFunction。
- 通过将 GeneratedEasingFunction 设置为 VisualTransition 的一部分。这种方式专用于定义控件的视觉状态;对于详细信息,请参阅 GeneratedEasingFunction 或视觉状态的情节提要。
这里是缓动函数的列表:
- BackEase:动画开始在指定路径上运动前稍微收缩动画的运行。
- BounceEase:创建回弹效果。
- CircleEase:使用圆函数创建加速或减速的动画。
- CubicEase:使用函数 f(t) = t3 创建加速或减速的动画。
- ElasticEase:创建一个动画,模拟弹簧的来回振荡运动,直到它达到停止状态。
- ExponentialEase:使用指数公式创建加速或减速的动画。
- PowerEase:使用公式 f(t) = tp 创建加速或减速的动画,其中 p 等于 Power 属性。
- QuadraticEase:使用函数 f(t) = t2 创建加速或减速的动画。
- QuarticEase:使用函数 f(t) = t4 创建加速或减速的动画。
- QuinticEase:使用函数 f(t) = t5 创建加速或减速的动画。
- SineEase:使用正弦公式创建加速或减速的动画。
Storyboarded animations for visual states
Quickstart: Animating your UI using library animations
3-D perspective effects for XAML UI
How to create custom media transport controls