“易做图”Flash 动作脚本的利器
相信很多朋友对网上精彩的Flash交互动画都赞叹不已。欣赏之余又多少感到有些遗憾。那么精彩的交互动画是怎样制作出来的?能不能分析分析、研究研究,看看它的代码,学它几招?能!请跟我来吧!Action Script Viewer(ASV)是一个动作脚本查看程序,使用它可以查看SWF文件中的动作脚本。ASV可以把Flash 4和Flash 5编译的动作脚本反编译并转换为文本格式,然后你就可以把它拷贝到剪贴板、保存为文本文件或直接拷贝到Flash的动作脚本编辑器中。ASV输出的动作脚本语法与源代码基本一样。
一、ASV 2.0的新特点
与ASV 1.0和1.5相比,ASV 2.0具有以下的新特点:
1.支持Flash 5:支持Flash 5的语法及语法的突出显示(保留字蓝色、属性绿色、字符串灰色);用图标指示剪辑动作;用[]括住标识符,指示图符连接;可以选择用Flash 5语法显示Flash 4动作脚本(按F8或“5”按钮切换为Flash 5模式)。
2.Library(库)标签显示每个图符的编号。
3.在一个新的窗口中打开按钮图符时,每一种按钮状态中所用的图符也被显示出来。
4.在一个新的窗口中打开字体图符时,字体名和字符预览被显示出来。
5.可以选择在预览窗口中是否允许动作脚本生效(F7)。
6.Frames(帧)标签可显示层的附加信息。
二、查看SWF文件动作脚本的操作方法
1.ASV是一款无需安装的软件,直接把它拷贝到一个文件夹中,然后运行它就可以了。此软件很小,只要300KB。启动ASV后,它的操作主操作界面如下图所示。
2.单击工具栏中的打开文件按钮,或从File(文件)菜单中选择Open命令,弹出Open SWF对话框。
3.在文件列表中,选择一个SWF文件(本例选择“综合实例”),单击“打开”按钮,显示SWF窗口。
在SWF窗口,可以查看下面的一些内容:
(1)显示动画主时间轴所有帧
单击Frames(帧)标签(在打开SWF文件时,默认显示此标签)或按Alt+R组合键,动画主时间轴所有帧被显示出来,如下图所示。
在帧窗口,显示帧编号、帧动作和帧标签等信息。中间带有黑点的帧图标表示该帧为关键帧(如图中的第3帧)。如果在某一帧的动作脚本列中显示有脚本图标(如图中的第1和第3帧),表示该帧包含有动作脚本。选择该帧,相应的动作脚本就会在脚本窗口显示出来。
在层窗口,显示帧窗口当前选定帧的所有层,以及相关的信息。中间带有黑点的层图标表示该层是可修改层(如含有可编辑文本框的层)。如果某层中包含有脚本,也会在动作脚本列中显示相应的图标。选择有脚本图标的层,相应的动作脚本就会在脚本窗口中显示出来。
(2)查看动画的图符库
单击Library(库)标签或按Alt+L组合键,将显示动画的图符库内容。动画中的所有图符均在此标签中显示出来。
如果在第1列(黑点列)中有一个黑点图标,表示该图符在主动画中至少使用一次(如图中最后两行);如果该列没有黑点图标,表示该图符用来创建其它图符。如果图符中包含有脚本,则在脚本列中显示脚本图标。选择该图符,相关的脚本就会在脚本窗口显示出来。变量名列显示可编辑文本框的变量名。图符号列显示每个图符使用的编号。
(3)查看实例名
单击Instance names(实例名)标签或按Alt+I组合键,将显示动画中用到的所有电影剪辑实例名。
名称列显示实例名。位置列显示帧号或电影剪辑实例及其本地帧号。图符列显示电影剪辑图符及其编号。如果要查找一个实例的原图符,可以在查找文本框中输入实例名,然后回车。此时,显示切换到库标签,光标就定位在该实例的原图符上。
(4)查看帧标签
单击Frame labels(帧标签)标签或按Alt+B组合键,将显示动画中定义了帧标签的所有帧。
名称列显示帧标签,位置列显示帧号或电影剪辑实例及其本地帧号。如果要查找一个帧标签标识的帧,可以在查找文本框中输入帧标签,然后回车。此时,显示切换到库标签,光标就定位在该帧所在的图符上。
(5)查看动作脚本
单击Action scripts(动作脚本)标签或按Alt+A组合键,将显示动画中包含有动作脚本的所有帧和图符。
位置列显示包含动作的所有帧和图符(电影剪辑和按钮)。脚本列显示脚本图标,其中的箭头图标表示该脚本是电影剪辑图符内部的脚本。单击保存所有脚本按钮,可以把动画中包含的所有脚本保存到一个文本文件中。文本文件中脚本的语法与当前选择的模式(Flash 4或5)一致。
下面所列是本例保存脚本输出的文本文件(actions.txt)的部分内容:
Action Script Viewer 2.0 - 综合实例.swf ---------------------------------------------------------------------- Frame 1 ---------------------------------------------------------------------- function createInsects (count) { var i; i = 1; while (count >= i) { _root.attachMovie("insect", "insect" + i, i); i++; } } function changeCursor (movieclip) { Mouse.hide(); _root.attachMovie(movieclip, "customCursor", 9999); _root.customCursor.startDrag(true); } ---------------------------------------------------------------------- Frame 3 ---------------------------------------------------------------------- if (hit == num) { if (num < 8) { num++; } hit = 0; createInsects(num); } prevFrame(); play(); ---------------------------------------------------------------------- 10 MovieClip ---------------------------------------------------------------------- [ Actions in frame #1 ] stop(); [ Actions in frame #2 ] stop(); ---------------------------------------------------------------------- 11 MovieClip , Frame 1, Symbol 10 ---------------------------------------------------------------------- onClipEvent (mouseDown) { _root.playSound(640, _parent._x, "zish"); gotoAndPlay (2); } onClipEvent (mouseUp) { gotoAndPlay (3); } onClipEvent (mouseMove) { updateAfterEvent(); }
从这个文件的内容我们可以看到,ASV保存的脚本保留了原脚本的语法格式,并详细列出了哪一段脚本位于动画的哪一帧,或哪个电影剪辑的哪一帧。
三、设置ASV
打开SWF文件时,SWF窗口显示一个工具栏,如下图所示。单击工具栏中的按钮,可以对ASV进行一些设置和常用操作。
1.显示预览窗口
如果预览窗口没有现实,首先要从Window(窗口)菜单中选择Preview Window命令,或按F5键,打开预览窗口。按下工具栏中的显示预览窗口按钮,可以打开预览窗口的显示。
2.移动源到中间
按下移动源到中间按钮,可以把预览窗口中的源对象从左上角移动到预览窗口中间,便于查看。
3.显示所有帧
按下显示所有帧按钮,动画中的所有帧将显示出来。否则,只显示关键帧。
4.显示所有层
按下显示所有层按钮,在帧标签中,选定帧的所有层将显示出来。否则,只显示可修改层。
5.显示长脚本
按下显示长脚本按钮,ASV将把全部脚本反编译并显示出来。否则,仅显示其中的几行。
6.设置绕排
按下设置绕排按钮,动作脚本中过长的行将自动绕排。
7.设置突出显示
按下设置突出显示按钮,脚本中的关键字将用不同的颜色突出显示。
8.设置脚本字体
单击设置脚本字体按钮,弹出字体选择对话框,可以从中选择一种字体和字号,改变脚本的字体。
9.设置背景颜色
单击设置背景颜色按钮,可以设置预览窗口的背景颜色,便于查看不同颜色的图符。
10.拷贝脚本
单击拷贝脚本按钮,可以把脚本窗口当前显示的动作脚本拷