新建外部类的文件夹
打开Flash CS6软件,新建一个Flash文档,并直接保存。由于外部类的编写方式,每个FLA文件都需要配套一个或多个AS文件。因此,我们需要在本地硬盘的某个位置创建一个文件夹,并将所有文件放入其中。请新建一个名为"67"的文件夹,并将新建的Flash文档保存在其中,文件名为"67.fla"。
设置外部类的名称
在Flash CS6中,使用选择工具单击舞台空白处,在属性面板中找到"类"一栏,并输入外部类的名称。然后点击右边的小笔图标,打开代码编辑窗口。
保存文档类文件
再次点击上一步中的小笔图标,会弹出一个纯代码编辑窗口,即我们之前学过的文档类。直接保存文件,Flash CS6已经为我们设定好了文件名,只需直接保存即可。
查看创建的文件
操作完成后,在本地硬盘的"67"文件夹内会有两个文件,如下图所示。
自动生成文档类代码
以上步骤是一种非常方便的创建文档类的方式。Flash CS6会自动为我们书写文档类代码,包括import语句、extends语句和构造函数体。我们只需在构造函数内编写所需的代码即可。
添加trace语句
我们仍然可以添加一行trace语句来输出一段文字。新手需要特别注意,在修改AS文件后,在测试影片之前必须先保存AS文件。如下图所示,箭头指向的地方显示了AS文件未保存,*表示AS文件未保存,请务必先保存再测试影片。
外部类的写法
通过以上代码,我们可以很简单地输出一段字符。如果在时间轴上直接写代码,只需编写第10行的代码就可以了。但是,由于外部类的写法,我们需要在核心代码的外部添加一些额外的代码。这些额外的代码可能有些繁琐,但必不可少。否则,Flash的编译器将无法理解你的代码要作用于哪个对象。而且,这些额外的代码有着严格的规定。
面向对象编程的优势
这就是"面向对象"编程的特点。如果项目非常简单,使用这种编程方式可能会更加费力,此时在时间轴上直接写代码更加简洁。但对于大型、复杂的项目来说,"面向对象"编程的优势就更加明显。
AS3的本质
实际上,AS3本质上就是"面向对象"的。当我们在时间轴上直接编写代码时,Flash在编译阶段(测试影片)会自动将代码转换为文档类的形式。我们可以使用SWF的反编译软件来查看这些代码。
反编译SWF文件
新建一个AS3的Flash文档并保存为"temp.fla",然后在时间轴上直接编写代码并测试影片,会生成"temp.swf"文件。使用任意一款可以反编译SWF文件的软件,例如JPEXS Free Flash Decompiler,来解析这个"temp.swf"文件的代码。
查看反编译结果
打开JPEXS Free Flash Decompiler软件,打开"temp.swf"文件。依次展开各项目,就可以看到其中的代码。我们在时间轴上写的代码只有一行,但反编译的结果却是一大堆代码!实际上,这才是AS3的真正样貌!虽然我们可以在时间轴上直接编写代码,但AS3在运行时本质上只支持文档类的写法。Flash CS6在编译阶段会自动、悄悄地将代码转换成文档类的写法。
反编译为FLA文件
JPEXS Free Flash Decompiler软件还可以将SWF文件反编译为FLA文件。打开"temp.swf"文件后,进行相应操作即可。为避免与之前的文件重名,我们可以将文件名修改后保存。
查看反编译得到的FLA文件
使用Flash CS6打开反编译得到的FLA文件,发现时间轴上有代码,请删除它(否则测试影片时会报错)。然后查看文档类的名称,如下图所示。
查看文档类代码
点击文档类名称右边的小手,即可查看文档类的代码。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。