关键帧动画

关键帧动画。关键帧动画是WPF的一个重点,难点内容。
关键帧动画:如果需要创建具有多个分段的动画和不规则移动的动画,这个时候可以使用关键帧动画。关键帧动画是由许多较短的段构成的动画,每段表示动画的初始值、最终值或中间值。当运行动画时,她平滑地从一个值移动到另一个值。关键帧对象基本上都有Value属性和KeyTime属性。和其他普通动画不同的是Value属性的数据类型,在LinearPointKeyFrame类中是Point类型,在DoubleKeyFrame类中是double类型。
离散的关键帧动画:使用的是线性关键帧动画,所以,它在关键帧动画之间平滑地过度。另一种选择是使用离散关键帧,离散关键帧不是进行插值,当到达关键时间时,属性突然改变为新值。线性关键帧类通常使用"Linear"+数据类型+KeyFrame"的形式进行命名,离散关键帧类使用"Discrete数据类型+KeyFrame"的形式命名。当运行这个动画时中心点会在适当的时间从一个位置跳转到下一个位置。所有关键帧动画类都支持离散关键帧,但只有一部分关键动画类支持线性关键帧。
缓动关键帧:由离散关键帧可以得出:尽管关键帧动画被分割成多段,但每段仍使用普通的线性插值。常用的缓动关键帧类有:EasingDoubleKeyFrame、EasingColorKeyFrame、EasyingPointKeyFrame。每个缓动关键帧类和对应的线性插值关键帧类的工作方式相同,但是额外提供了EasyingFunction属性。
关键帧动画。基于帧的动画。使用帧的动画要为静态的CompositionTarger.Rendering事件关联事件处理程序,一旦关联这个处理程序,WPF就开始不断地调用这个事件处理程序,WPF将每秒调用60次。当动画结束后,分离事件处理程序。
动画缓动。动画缓动:线性动画有一个缺点,通常让人觉得机械和不够自然。改进动画并创建更趋自然的动画的秘诀是改变变化速率。不是创建以固定不变的速率改变属性的动画,而是需要设计根据某种方式加速或减速的动画,实现更趋自然的动画的最简单方法是使用预置的缓动函数(EasingFunction)。EasyingFunction属性只能接受单个缓动函数对象,所以不能为同一个动画结合不同的缓动函数。WPF动画性能和帧率:通常,为用户界面应用动画,只不过是创建并配置正确的动画和故事版对象。但在其他情况下,特别是同时发生多个动画时,可能更加需要关注性能。WPF试图保持以60帧/秒的速度进行动画,可以确保从开始到结束得到平滑流畅的动画。帧速率越低,会发生抖动现象。
缓动函数类。 在继续分析不同的缓动类之前,理解缓动函数的应用时机是很重要的。所有的缓动函数 类都继承自EasingFunctionBase类,并且继承了EasingMode属性,EasingMode有三种值,分别是:EaseIn(在动画开始时应用缓动效果)、EaseOut(动画结束时应用缓动效果) 和EaseInOut(在开始和结束时应用缓动动画)。当应用缓动函数时不会改变动画的持续时 间。缓动函数常用类: BackEase:当使用EaseIn模式应用该缓动函数 时,在动画开始之前拉回动画,当 使用EaseOut模式应用该缓动函数 时,允许动画稍微超越,然后拉 回。Amplitude属性决定了拉回 和超越的量。默认值是1, 可减小该属性值(大于0的任 何值)以缩减效果,或增加 该属性值放大效果。
动态变换也是WPF的一个重点难点内容。动态变换:变换提供了自定义元素的最强大方式之一。每个元素都能以两种不同的方式使用变换,RenderTransform属性和LayoutTransform属性。RenderTransform属性效率更高。因为是在布局之后应用变换,并且用于变换最终的渲染输出。
LayoutTransform在布局前应用,从而其他控件需要重新排列以适应变换。①:使用变形(RenderTransform)类:②:使用LayOutTransform。根据不同的使用场景,选择不同的方法。
动态改变多个变换:就是在TransformGroup中放置多个变换类。
动态改变画刷:使用ColorAnimation改变颜色,使用PointAnimatin改变坐标。
动态改变像素着色器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值