Flash螺旋特效实例剖析 |
这是一个完全通过Actions来实现的例子,对于熟悉Actions的人来说,做这样一个效果简直易如反掌。不过相信还有许多朋友对Actions还是似懂非懂,有时候甚至觉得很高深,其实只要我们有意识地接触一些用简单的Actions实现的效果,就可以从建立基本的概念开始,为深入全面地了解Actions打下良好的基础。 基本思路:按顺序生成包括原来的电影片断在内的一共120个电影片断,且每一个电影片断均在前一个的基础上顺时针旋转了度,加上电影片断在复制生成的过程中自身也在播放,所以我们就看到了螺旋的效果。
新建一个文件,设置背景色为黑色。 按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 根据以上我们对每一条语句的解释,大家不难理解这段小程序的设计思路。我在这里只简单说一下,执行这个Actions的结果是按顺序生成包括原来的电影片断在内的一共120个电影片断,且每一个电影片断均在前一个的基础上顺时针旋转了3度,加上电影片断在复制生成的过程中自身也在播放,所以我们就看到了螺旋的效果。 |