PPT动画大师参考#2-路径行为(MotionEffect)

预设的路径动画

PowerPoint(2003、2007) 共预设有 64个路径动画效果,分为三类,其中,基本类型18个,直线与曲线类型30个,特殊类型16个。

PowerPoint(2010)中减少了一个“圆锯”动画效果(但是事实上是存在的)。

路径行为(MotionEffect)参数

  • FromX代表 MotionEffect 对象的初始水平位置,它以屏幕宽度百分比的形式指定。PS:默认值为 Empty,在此情况下使用对象的当前位置。

将此属性与 ToX 属性联合使用可以从一个位置跳到另一个位置。

  • FromY代表 MotionEffect 对象的初始垂直位置,它以屏幕高度百分比的形式指定。PS:此属性的默认值为 Empty,在此情况下使用对象的当前位置。

将此属性与 ToY 属性联合使用可以从一个位置跳到另一个位置。

  • ToX代表 MotionEffect 对象的最终水平位置,它以屏幕宽度百分比的形式指定。
  • ToY代表 MotionEffect 对象的最终垂直位置,它以屏幕高度百分比的形式指定。
  • ByX代表按指定的屏幕宽度百分比水平移动对象。例如, 0.50 表示将对象向右移动屏幕宽度一半的距离。PS:负数表示水平向左移动对象。浮点数(例如 55.5)有效。
  • ByY代表按指定的屏幕高度百分比垂直移动对象。PS:负数表示垂直向上移动对象。浮点数(例如 55.5)有效。

PPS:如果同时设置 ByX 和 ByY 属性,则可以同时在水平和垂直两个方向上移动对象。

  • Path是一条具体路径,它使用与 VML 路径说明相同的语法描述移动效果在 From 和 To 之间沿行的路径。(具体参数见下表)

Path语法标记

  • 移动 M例如:M StartPoint
  • 直线 L例如:L EndPoint
  • 曲线 C例如:C ControlPoint1 ControlPoint2 EndPoint (三次贝兹曲线)
  • 闭合 Z例如:Z
  • 结束 E例如:E
    注意:所有的Point都是有两个数字构成,也就是X和Y(其单位依然是幻灯片的宽高)

Path举例

简单的如【向右】

    M 0 0 L 0.25 0 E
1
2
常见的如【圆形扩展】
<pre class="brush:xml;toolbar:false;"> M 0 0 C 0.069 0 0.125 0.056 0.125 0.125 C 0.125 0.194 0.069 0.25 0 0.25 C -0.069 0.25 -0.125 0.194 -0.125 0.125 C -0.125 0.056 -0.069 0 0 0 Z
复杂的如【漏斗】
    M 0 0 C -0.001 0.025 0.06 0.047 0.137 0.048 C 0.198 0.05 0.248 0.038 0.249 0.023 C 0.249 0.008 0.2 -0.006 0.138 -0.007 C 0.107 -0.007 0.079 -0.005 0.059 0 C 0.03 0.007 0.013 0.018 0.013 0.031 C 0.013 0.038 0.018 0.045 0.027 0.051 C 0.048 0.064 0.089 0.073 0.136 0.074 C 0.191 0.076 0.236 0.065 0.236 0.052 C 0.237 0.038 0.192 0.026 0.137 0.024 C 0.109 0.024 0.084 0.026 0.065 0.03 C 0.04 0.037 0.024 0.048 0.024 0.059 C 0.024 0.065 0.029 0.071 0.037 0.077 C 0.056 0.088 0.092 0.097 0.135 0.098 C 0.185 0.099 0.225 0.089 0.225 0.077 C 0.226 0.065 0.186 0.054 0.136 0.053 C 0.111 0.052 0.088 0.054 0.071 0.058 C 0.048 0.064 0.035 0.073 0.035 0.084 C 0.035 0.089 0.039 0.095 0.046 0.1 C 0.063 0.11 0.096 0.118 0.134 0.119 C 0.179 0.119 0.215 0.111 0.215 0.1 C 0.215 0.089 0.18 0.079 0.135 0.078 C 0.113 0.078 0.092 0.08 0.077 0.083 C 0.056 0.088 0.044 0.097 0.043 0.106 C 0.043 0.111 0.048 0.116 0.054 0.12 C 0.069 0.13 0.099 0.137 0.133 0.137 C 0.173 0.138 0.206 0.131 0.206 0.121 C 0.207 0.111 0.174 0.102 0.134 0.101 C 0.114 0.101 0.095 0.102 0.082 0.106 C 0.063 0.11 0.052 0.118 0.052 0.126 C 0.052 0.131 0.055 0.135 0.061 0.139 C 0.075 0.148 0.101 0.154 0.132 0.155 C 0.169 0.155 0.198 0.149 0.198 0.14 C 0.199 0.131 0.17 0.123 0.133 0.122 C 0.115 0.122 0.099 0.123 0.087 0.126 C 0.07 0.13 0.06 0.137 0.06 0.145 C 0.06 0.149 0.063 0.152 0.068 0.156 C 0.08 0.164 0.104 0.169 0.132 0.17 C 0.165 0.171 0.191 0.165 0.191 0.156 C 0.191 0.149 0.166 0.141 0.133 0.141 C 0.116 0.14 0.101 0.142 0.09 0.144 C 0.075 0.148 0.066 0.154 0.066 0.161 C 0.066 0.165 0.069 0.168 0.074 0.171 C 0.085 0.178 0.107 0.183 0.131 0.184 C 0.161 0.185 0.185 0.179 0.185 0.172 C 0.185 0.164 0.161 0.158 0.132 0.157 C 0.118 0.157 0.104 0.158 0.094 0.161 C 0.08 0.164 0.072 0.169 0.072 0.176 C 0.072 0.179 0.075 0.182 0.079 0.185 C 0.089 0.191 0.108 0.196 0.131 0.196 C 0.157 0.197 0.179 0.192 0.179 0.185 C 0.179 0.179 0.158 0.173 0.131 0.173 C 0.119 0.172 0.106 0.173 0.097 0.175 C 0.085 0.179 0.078 0.184 0.078 0.189 C 0.078 0.192 0.08 0.195 0.084 0.197 C 0.093 0.203 0.11 0.207 0.131 0.208 C 0.155 0.208 0.174 0.203 0.174 0.198 C 0.174 0.192 0.155 0.186 0.131 0.186 C 0.119 0.186 0.108 0.187 0.101 0.189 C 0.089 0.191 0.083 0.196 0.083 0.201 C 0.083 0.203 0.085 0.206 0.088 0.208 C 0.096 0.214 0.112 0.217 0.13 0.218 C 0.152 0.218 0.169 0.214 0.169 0.209 C 0.169 0.203 0.152 0.199 0.131 0.198 C 0.12 0.198 0.11 0.199 0.103 0.201 C 0.093 0.203 0.087 0.207 0.087 0.212 C 0.087 0.214 0.089 0.216 0.092 0.218 E
```

# Path的大小写

在Path语法中,大写代表相对位置,小写代表绝对位置。

例如:M 0 0 就意味着从形状的中心位置开始,但是m 0 0 就意味着从幻灯片的左上角开始。

## 常见问题

1.  **如何让自定义动画显示出可编辑的路径?**只要要路径行为是第一个行为即可,建议用PPT自带的编辑器编辑路径后复制其Path到你需要的路径行为的Path上,这样子更加简单一点,而不是单纯的写路径行为的Path属性。
2.  **为什么我修改了路径行为的Path却没有预览出正确的路径?**该修改需要手工关闭动画窗格后打开才可实时显现出变化;如果还是不行,可以尝试保存后看有没有变化。
3.  **路径行为有什么用途呢?**精确控制路径,这里用到的当然是手工书写的路径了。一般来说,PPT里面编辑路径的时候,很难对齐位置(13中有所改善,但是对于强迫症,有的路径耗时对不齐的),这时候,我们就可以通过手工编辑的方式,来实现路径的标准化。

比如,需要让一个形状,从屏幕的右侧正好移动一个屏幕宽度的时候,就可以写Path:M 0 0 L -1 0 E。

当然,我们后面还会用属性来实现移动效果,比路径行为写Path简单的多,而且可以很简单的实现平抛等规律性强的路径动画。