“动画”字面上的意思是指“为某物赋与生命”。因此,借助动画,您可以通过在一段时间内或响应用户操作而更改对象的属性(如颜色、大小、不透明度及其他属性)来为自己的作品带来生命力。
PowerPoint动画不是另类动画,它是计算机动画十分重要的组成部分,其动画原理与其他的动画是一致的。因此只要了解PowerPoint动画的机制,我们就能超越PowerPoint预定义动画,制作出完全合符自己要求的效果。
在PowerPoint中有将近200种的预定义动画效果,这些效果主要由下面几种类型组合而成:
- 对象的旋转
- 对象的缩放
- 对象的平移
- 对象的颜色
- 对象的运动路径
- 对象的倾斜度
- 对象的不透明度
- 对象的字体属性
- 对象的可见性
- 对象的滤镜属性
- 对象的阴影属性
PowerPoint通过一个叫TimeLine的对象作为根对象来组织整个的动画体系,TimeLine是一个容器时间线,所有的效果序列都被有序地组织在这个容器中。TimeLine的两个属性MainSequence和InteractiveSequences用来组织控制两种序列线,MainSequence控制主序列线,InteractiveSequences控制交互序列线。在TimeLine容器中有且只能有一条主序列线,而交互序列线理论上讲可以有无数条。
一个动画序列线就是应用于幻灯片对象上的一连串的动画效果。
图中的数字表示一个个动画效果,在PowerPoint动画模型中它是Effect对象,PowrPoint预定义动画就是一个个这样的对象,当你为对象添加一个动画效果时(如:百叶窗),实际上是在向幻灯片的主动画序列添加一个Effect对象。
这是PowerPoint“自定义动画工具”给我们展示的全部,到此,我们就只能按照它所规定的“预定义”进行PPT动画操作了,所以当你需要一个对象开始变为红色,然后变成绿色,再变成蓝色并循环5次时,你将不得不这样设置:红色—消失—出现—绿色—消失—出现—蓝色—消失—出现,并再复制四个对象,这样你的动画序列表中将有45个项,管理起来将十分困难,这也是为什么PowerPoint动画易做但不易做好做精的缘故。 如果我们能够将这些东西都封装到一个Effect中该多好。
所以Effect对象是我们研究的重点,它是一个抽象化的概念,如果你在Flash中做过动画元件的话,理解起来就容易了,Effect其实就是相当这样的一个元件性的东西,不过它是不可见的,可以应用于任何可关联的对象。
Effect对象也是一个容器,初始时它默认是空的。或许你要说为什么PPT预定义效果一点就有用呢,不错,那是体贴的微软工程师们为大家准备好的免费午餐,当然吃久了会厌烦的。如果你要突破它的限制,尝尝新鲜的滋味,也确实是一个不错的想法,要想突破,就从Effect着手,发挥你的创造力,制作出一个个有个性、有特点的Effect。
既然Effect是一个空容器,微软工程师可以往里面放苹果、香肠之类的东西,为什么我们就不能放呢?当然可以,不过我们要放进去的是一个个叫做“动作”的东西。
“动作”顾名思义是对象的属性发生了什么变化,是颜色变了还是旋转了角度,是变大了还是变小了,是跑到了右边还是跑到了左边……诸如此类的东西,由这些东西就可以组合成一个个的Effect,然后应用于幻灯片上的对象就构成了动画。
关于“动作”,我会有专门的篇幅来阐述,就此打住。
我们知道动画是和时间密不可分的,那么PowerPoint动画引擎是如何为Effect或动作安排时间并组织控制好时间的呢?答案就在一个叫做Timing的对象上,虽然它不是可视化的,但它提供了足够多的参数让我们有能力精准地控制好对象效果在时间线上的顺序。
关于PowerPoint动画时间线,我会在下一篇中详细分析。
一点感想:
对PowerPoint动画对象模型的研究起于07年11月,深入其中之后才发现原来PowerPoint动画居然和silverlight是如此相似。微软从PowerPoint2002开始设计了一个全新的动画模型,和silverlight一样其核心都 大概源于IE中的Time。只是silverlight比PowerPoint提供了更多的特性,使得silverlight中很多的东西难以移植到PowerPoint中,不过,silverlight的设计可以为PowerPoint提供更多的想法和思路,所以学学silverlight是在面向未来,说不定在将来的PowerPoint版本中会提供更多基于silverlight特性的东西。
欢迎光临:
[ 本帖最后由 无极 于 2009-8-6 23:37 编辑 ]
谢vba领舞者---无极