前言:
之前为了完成一些任务,因为公司只能限定一些网络访问且不能用存储设备进行拷贝,所以自己在家里写了一个demo就放到csdn的下载区回公司再下下来,令人意外的是这个非常小的demo居然两天里就有几十个下载还得到了几个评论(在我之前从来没有遇到过的)。想了一下干脆分享一下自己的学习心得好了。
接下来让我们初入WPF动画的世界吧
1.任务概述:
使用WPF模拟一个小人走路的动画效果。
之前没有过WPF开发的经验,但是拿到东西后第一反应就是利用多幅图片来反复播放,如果帧率足够的话就能完成这个事情了,所以撇开技术不说,任务实际上是非常简单的,因为我们已经知道要怎么做了,有思路了。
2.本次关键知识的储备
2.1 我们需要知道Image标签,如何绘图,插入图片以及后台线程(其实就是一个控件与三个简单的方法)
2.2 WPF基于帧的动画:CompositionTarget.Rendering += new EventHandler(DoSomething)
基于帧的动画是WPF提供的一套非常低级的方法(不是指功能低级,而是要自己处理比较多的内容),这种方法只需要调用 CompositionTarget.Rendering这个静态时间,它是WPF系统默认提供给我们的事件,触发这个事件会完成一件事情,就是在WPF在组合树呈现之前瞬间渲染要显示的图形或者图像,非常方便。
其实就是程序反复的触发这个事件帮我们刷新图片,MSDN上说是以每秒60帧的速度,而想要有动画效果,让图片以一定的帧率反复刷新多张变动比较小的图片就可以了。
例如我提供的这两张图片(临时手画的)