Graphics 版 (精华区)

发信人: Doitforyou (我天天都来), 信区: Graphics
标  题: 第十二节 螺旋效果
发信站: 哈工大紫丁香 (2001年04月29日09:19:17 星期天), 站内信件

第十二节 螺旋效果
这是一个来自Flash Planet的例子,是完全通过Actions来实现的。对于熟悉Actions的
人来说,做这样一个效果简直易如反掌。不过相信还有许多朋友对Actions还是似懂非懂
的,有时候甚至觉得很高深,所以这一节开始,我们将有意识地接触一些用简单的Acti
ons实现的效果,大家先建立一个基本的概念,为我们下一章深入全面地探讨Actions打
下好的基础。
新建一个文件,设置背景色为黑色。
按Ctrl-F8新建一个图形类图符line。选择椭圆工具,在参数修改器中取消边线,并把填
充色设置为黑蓝黑线性渐进色,也就是把渐进色定义条设为右图所示:,在编辑区拉出
一个扁扁的椭圆来。选择箭头工具,在不选中椭圆的情况下,把鼠标移到椭圆的最右端
,当鼠标右下方出现弧线时,点住并拖动鼠标把椭圆拉成如下图所示的样子。以下的两
个图所示为同一对象,因为左图不能很好地反映其形状,所以同时给出右图。注意,一
定要把这个椭圆移到下图所示的位置上,也就是让它的左端刚好位于十字定位符上,这
是因为我们一会儿要对它做放缩变形,并希望其左端固定不动。
      
再次按下Ctrl-F8新建一个电影片断类图符linemovie。 按Ctrl-L打开图库窗口,把lin
e拖出来放在编辑区中,请再次注意所放的位置:要求它自身的十字定位符正好与编辑区
的十字定位符重合,如下图左所示。这是因为我们需要对这个图符实例做旋转,并希望
其左端为其旋转中心点。
     
在第120帧按下F6插入关键帧, 把该实例向右拉伸至上图右所示大小。双击该实例,设
置它的颜色参数如下图所示:,就可得到上图右所示颜色效果。
现在设置第1帧的属性为运动渐变,这样我们就把这个图符做好了。
回到主场景。从图库中把这个电影片断类图符linemovie拖出来放在中间,如果太大就把
它缩小一些。双击它,在Definition(定义)标签下把它的实例名称设成line,如下图
所示。
在第2帧按F6插入关键帧。双击第2帧设置Actions。大家先跟我一步一步往下做,最后我
们再来分析一下这样编写Actions的目的。点,选Set Variable,把参数设置为下图所示
。Set Variable用来设置变量,学过编程的朋友可以很容易理解。变量名可以是任意以
字母开头的字符串,这里我们用n更有意义一些。注意,因为我们需要把n+3的值赋给n,
所以在下图所示Value一项中右边的符号应为而不是。表示表达式,表示字符串。
下面再来设置条件判断语句。再点,选If。并在右边的Condition(条件)栏中输入n<3
60。
点,选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用来获取指定对象的相关属性,在这里我们将得到电影片断lin
e的旋转角度值,以度为单位。这样设置的作用是把新复制出来的电影片断"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)就行了,否则会得到不好的效果,不信大家可以试试
看就知道为什么了。
这一节中,我们对Actions的具体设置谈得比较细,这是为了照顾那些对Actions还比较
陌生的朋友,相信大家现在多少已经有所认识了。更多更详细的Actions的用法,我们将
在下一章中重点介绍。这里是这个示例的源文件。

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.230.218]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.862毫秒