在阐述PowerPoint时间线之前,我想先讲讲动画与时间的关系。时间是形成动画的基础,所有动画总是表现为对象随时间的变化而不断改变位置,变幻颜色、变化形状等。时间掌握是动画工作的重要组成部分,它赋予动作以“意义”,如动作的快慢、轻重、加速减速……都会使动画产生力感,这样的动画看起来才更真实形象,更能体现动画对象的原始特性。如果您想了解这方面的知识,不妨去看看哈罗德.威特克和约翰.哈拉斯的书《动画的时间掌握》。
PowerPoint动画与Flash动画最大的不同就在于它们对时间线的操作,Flash以时间为中心来调配对象,所以它提供了更多的基于时间的特性,你可以自由地在时间线上跳转,非常灵活。而PowerPoint是以对象为中心来调配时间的,所以它是一种对象专用型时间线,每个效果、每个动作都有它的专用性时间线,我们可以把这些专用型时间线称为子时间线,所有子时间线统一于整个幻灯片的主时间线:TimeLine。
PowerPoint动画时间线的这种专用特性和silverlight是一致的,这种专用特性虽不够灵活、专业,但也有它的自己的优势。PowerPoint通过一个叫做Timing的对象让我们来操纵这种专用性时间线,它所提供的参数可以设置对象的效果或动作的动画开始,动画速度,动画时间以及动画的加速减速等等。
图中的红色块是应用于对象上的效果在主时间线上的分布,每个效果都有一个专用时间段,这个时间段可以任意调配长短,与其他的效果没有关系,PowerPoint自定义动画工具的“高级日程”或“计时”选项提供了对效果时间线的简单控制。每个效果中包含了一个或多个叫做“动作”的东西,而每个动作也有自己的专用时间线,它是属于效果时间线上的一段时间。
上图中的Effect包含了5个动作,这5个动作共享Effect的时间线。
Effect | 动作 | 动作动画时间(秒) | 动作延迟(秒) | Effect动画时间 |
A | 0.5 | 0 | 1秒 | |
B | 0.5 | 0 | ||
C | 0.5 | 0 | ||
D | 0.5 | 0.5 | ||
E | 0.5 | 0 |
上表中A、B、C、E动作同时动画,时间为0.5秒,动作D被延迟了0.5秒,所以整个的Effect的动画时间为1秒。而这种对动作时间的准确控制在PowerPoint自定义动画工具中是不公开的,这就制约了PowerPoint动画的灵活性,所以如果你能对Effect中的每个动作的时间线进行设置,当然就有了更多的自由和想象。
前面我们讲到PowerPoint的Effect和动作的专用时间线都是由一个叫做Timing的对象来控制的,Timing共有14个参数,这些参数可以让我们尽可能地控制对象在时间线上的动画顺序,加速或减速等。下表列出了它们。
Accelerate | 返回或设置 Single 变量,它代表加速过程持续时间的百分比。例如,数值 0.9 意味着动画将在前 90% 的时间内逐渐加速到默认速度,并在最后 10% 的时间内保持默认速度。可读写。 |
AutoReverse | 设置或返回一个 MsoTriState 常量,该常量代表是否将某个效果在正向播放结束后进行反向播放,从而使播放时间增加一倍。可读写。 |
Decelerate | 设置或返回Single 类型值,该值代表减速过程持续时间的百分比。例如,数值 0.9 表示减速过程以默认速度启动,经过动画持续时间的 10% 之后开始减速。可读写。 |
Duration | 返回或设置 Single 数值,该值代表以秒为单位的动画长度。可读写。 |
RepeatCount | 设置或返回一个 Long 类型的值,该值代表动画要重复的次数。可读写。 |
RepeatDuration | 设置或返回一个Single 类型的值,该值代表重复动画应持续的时间(以秒为单位)。可读写。 |
Restart | 设置或返回一个 MsoAnimEffectRestart 常量,该常量代表动画效果启动一次后是否会重新启动。可读写。 |
RewindAtEnd | 设置或返回一个 MsoTriState 常量,该常量代表动画结束后对象是否返回其初始位置。可读写。 |
SmoothEnd | 设置或返回一个 MsoTriState 常量,该常量代表动画结束时是否应该减速。可读写。 |
SmoothStart | 设置或返回一个 MsoTriState 常量,该常量代表动画启动时是否应该加速。可读写。 |
Speed | 返回或设置一个Single 类型值,该值代表指定动画的速度(以秒为单位)。可读写。 |
TriggerDelayTime | 设置或返回一个Single 类型的值,该值代表启用动画触发器后的延时(以秒为单位)。可读写。 |
TriggerShape | 设置或返回一个 Shape 对象,该对象代表与动画触发器相关联的形状。可读写。 |
TriggerType | 设置或返回一个 MsoAnimTriggerType 常量,该常量代表启动动画的触发器。可读写。 |
这14个参数中,需要我们重点关注的有:
- Duration属性,它用来确定Effect或动作的动画时间,当时间线达到其持续时间的终点时,表示时间线完成了一次重复,其最大值为863990秒。
- AutoReverse属性指定时间线在到达其Duration的终点后是否倒退。如果将此动画属性设置为true,则动画在到达其Duration的终点后将倒退,即从其终止值向其起始值反向播放,这样会花去双倍的时间,默认情况下,该属性为false。
- RepeatCount属性指定时间线Effect或动作的播放次数。默认情况下,时间线的重复次数为1.0,即播放一次时间线,不进行重复,它的最大值为9999次。
- TriggerDelayTime属性表示Effect或动作延迟多少秒开始动画。通过它可以调整Effect或动作在时间线上动作开始播放的时间,从而确定它们的播放顺序,这与Effect或动作在序列中的索引没有关系。
下面我们来看看微软工程师在PowerPoint预定义动画“光速”当中的动作与时间设置:
“光速”共由五个动作构成:
- 设置动作:这里用于表示开始动画时对象显示在屏幕上。
- 属性动作:设置对象的X坐标。
- 属性动作:设置对象的倾斜度。
- 缩放动作:设置对象的放大或缩小。
- 属性动作:设置对象的X坐标。
属性动作:对象X坐标 属性动作:对象倾斜度
缩放动作 属性动作:对象X坐标
由上图中我们可以看出“光速”效果中各动作的时间线参数设置:
光速 | 动作 | 动画时间(秒) | 延迟(秒) | 是否反转 | 光速总动画时间 |
设置 | 0.001 | 0 | 否 | 0.6+0.2*2=1秒 | |
属性:X | 0.6 | 0 | 否 | ||
属性:倾斜 | 0.2 | 0.6 | 是 | ||
旋转 | 0.2 | 0.6 | 是 | ||
属性:X | 0.2 | 0.6 | 是 |
如果你改变了“光速”效果的动画长度,那么其中的各个动作(除设置对象可见性之外)都会按照它动画时间的百分比进行递增或递减,下表反映了把光速的总动画时间改变为3秒后各动作的变化情况:
光速 | 动作 | 动画时间(秒) | 延迟(秒) | 是否反转 | 光速总动画时间 |
设置 | 0.001(不变) | 0(不变) | 否 | 3秒 | |
属性:X | 1.8 | 0 | 否 | ||
属性:倾斜 | 0.6 | 1.8 | 是 | ||
旋转 | 0.6 | 1.8 | 是 | ||
属性:X | 0.6 | 1.8 | 是 |
细心的你也许已经开始对上面图中一些有趣的符号产生兴趣,如:From、To、Property、(#ppt_w/2)、(#ppt_x)。是的,当这些符号开始呈现在我面前的时候,我也有些吃惊,我不知道#是什么意思,不知道ppt_w到底代表了多长的宽度,不知道ppt_x是一个变量还是常量,所有的这一切变得神秘起来。
我只能忍不住地继续探索下去,直到我完全揭开它们的面纱为止。
欢迎光临:
[ 本帖最后由 无极 于 2009-8-6 23:49 编辑 ]