## Actions 特效与实例

这是一个来自Flash Planet的例子，是完全通过Actions来实现的。对于熟悉Actions的人来说，做这样一个效果简直易如反掌。不过相信还有许多朋友对Actions还是似懂非懂的，有时候甚至觉得很高深，所以这一节开始，我们将有意识地接触一些用简单的Actions实现的效果，大家先建立一个基本的概念，为我们下一章深入全面地探讨Actions打下好的基础。

新建一个文件，设置背景色为黑色。

按Ctrl-F8新建一个图形类图符line。选择椭圆工具，在参数修改器中取消边线，并把填充色设置为黑蓝黑线性渐进色，也就是把渐进色定义条设为右图所示：，在编辑区拉出一个扁扁的椭圆来。选择箭头工具，在不选中椭圆的情况下，把鼠标移到椭圆的最右端，当鼠标右下方出现弧线时，点住并拖动鼠标把椭圆拉成如下图所示的样子。以下的两个图所示为同一对象，因为左图不能很好地反映其形状，所以同时给出右图。注意，一定要把这个椭圆移到下图所示的位置上，也就是让它的左端刚好位于十字定位符上，这是因为我们一会儿要对它做放缩变形，并希望其左端固定不动。

再次按下Ctrl-F8新建一个电影片断类图符linemovie。 按Ctrl-L打开图库窗口，把line拖出来放在编辑区中，请再次注意所放的位置：要求它自身的十字定位符正好与编辑区的十字定位符重合，如下图左所示。这是因为我们需要对这个图符实例做旋转，并希望其左端为其旋转中心点。

在第120帧按下F6插入关键帧， 把该实例向右拉伸至上图右所示大小。双击该实例，设置它的颜色参数如下图所示：，就可得到上图右所示颜色效果。

现在设置第1帧的属性为运动渐变，这样我们就把这个图符做好了。

回到主场景。从图库中把这个电影片断类图符linemovie拖出来放在中间，如果太大就把它缩小一些。双击它，在Definition（定义）标签下把它的实例名称设成line，如下图所示。

在第2帧按F6插入关键帧。双击第2帧设置Actions。大家先跟我一步一步往下做，最后我们再来分析一下这样编写Actions的目的。点，选Set Variable，把参数设置为下图所示。Set Variable用来设置变量，学过编程的朋友可以很容易理解。变量名可以是任意以字母开头的字符串，这里我们用n更有意义一些。注意，因为我们需要把n+3的值赋给n，所以在下图所示Value一项中右边的符号应为而不是。表示表达式，表示字符串。

下面再来设置条件判断语句。再点，选If。并在右边的Condition（条件）栏中输入n<360。

点，选Duplicate/Remove Movie Clip（复制/删除电影片断），把右边的参数设置成下图所示。其中target为待复制的对象，这里我们用刚做好并命名的电影片断line。 它前面的“/”表示它的位置位于当前层的根部，而没有 “/” 的目标则对应于当前电影片断。 New Name为复制后新生成的电影片断名，这里用"line"&n。&为连结符，这时复制后的新电影片断名将随着n的不同而不同，比如n=1时，新电影片断名为line1，n=4时，新名为line4等等。在New Name中，只需要名字，不需要路径。Depth（深度）确定创建的实例与其他对象重叠时的层次。整条语句的作用是把电影片断line复制并重新命名为"line"&n。

再点，选Set Property（设置电影片断的属性）。这是Actions中用到的最频繁也最重要的语句之一。我们来设置新复制的电影片断的旋转属性。 在Set下拉框中选Rotation（旋转），Target为要设置属性的电影片断，填上"/line"&n。Value用来指定改变后的属性值。其中GetProperty用来获取指定对象的相关属性，在这里我们将得到电影片断line的旋转角度值，以度为单位。这样设置的作用是把新复制出来的电影片断"line"&n做一个旋转，其旋转角为电影片断line旋转角度加上n的值。

最后，按选Go to。并在右下方的Control复选框中打上对勾。这条语句的作用是跳转到第1帧并继续播放。

下面是做好的 Actions 语句：

Set Variable: "n" = n+3
If (n<360)
Duplicate Movie Clip("/line","line"&n,n)
Set Property("/line"&n, Rotation) = GetProperty("/line",_rotation)+n
Go to and Play(1)
End If

根据以上我们对每一条语句的解释，大家不难理解这段小程序的设计思路。我在这里只简单说一下，执行这个Actions的结果是按顺序生成包括原来的电影片断在内的一共120个电影片断，且每一个电影片断均在前一个的基础上顺时针旋转了3度。因为电影片断在复制生成的过程中自身也在播放中，所以我们就看到了上面的效果。这里要注意的是，在制作linemovie电影片断类图符时，我们用到了120帧，这个数字与Actions中的第1句密切相关，它是由360/3得到的，如果第1句改写为Set Variable: "n" = n+4，则在编辑linemovie时，用到90帧（360/4）就行了，否则会得到不好的效果，不信大家可以试试看就知道为什么了。