原文: http://apps.hi.baidu.com/share/detail/22992357
在以后的日子设计与编程渐渐分离。那我们如何将分离的代码嵌入到设计当中去呢?
换言之就是如何将.fla文件与.as文件进行关联。下面的示例就是两个方法大家可以看看。
#测试.as文件的两种方法(就是fla文件与as文件的绑定模式)
一.首先创建一个空白的flash文件(3.0),例如:test.fla。然后再在“选项面板”上的“文件”“类别”上写上你要测试的类<文档类(Document class)>的类名(这里的类名和文件名要一致)。
请注意,我们输入的是类名,而不是文件名。
所以这里不需要输入扩展名 .as。如果这个类包涵在一个包中,
那么就需要输入类的完整路径——例如:com.friendsofed.chapter2.Test。
如图:
这样就可以保存了。最后测试test.fla就行了。
<注意:在使用该方法时,请不要在“动作“里添加任何代码,否则会报错(1180: 调用的方法 addFrameScript 可能未定义(初学者最容易犯的错误)),如出错,请参照该文修改>
二. 首先创建一个空白的flash文件(3.0)。例如test2.fla。然后再动作面板里加入以下代码:
//Test 是文档类(Document class),一般在做项目的时候,这是加载主类的。
var main:Test = new Test ();
//这里是将这个类加载到这个fla文件里的。
addChild(main);
好了,可以测试test2.fla这个文件了。
《注意:测试类要与被测试类在同一目录下否则会因为找不到被测试类而报错。。。。。。一定要注意。。。。。》
我用的被测试类可以叫做文档类(Document class):
文件名:Test .as
package {
import flash.display.Sprite;
/*这个类可以作为一个主类,作为其他类的一个程序的入口,就像java程序的main一样,*/
public class Test extends Sprite {
public function Test() {
init();
}
private function init():void {
//这里可以调用您写的其他类。
trace("Hello world!");
}
}
}
-------------------------执行结果----------------------------
-----------------------------------------------------------------
=========================文档类(Document class)介绍===============================
文档类(document class)是从AS 3 开始引入的一个全新的概念,就是实现设计与程序的彻底分离,
能更方便程序员的编写。
一个文档类就是一个继承自 Sprite 或 MovieClip 的类,并作为 SWF 的主类(也就是类似java的main)。
读取 SWF时,这个文档类的构造函数会被自动调用。它就成为了我们程序的入口,做为一个类似于.fla文件和.as文件的联系人。
以下是一个文档类的框架:
package {
import flash.display.Sprite;
/*这个类可以作为一个主类,作为其他类的一个程序的入口,就像java程序的main一样,*/
public class Test extends Sprite {
public function Test() {
init();
}
private function init():void {
//这里可以调用您写的其他类。
trace("Hello world!");
}
}
}
使用默认包,导入并继承 Sprite 类。
构造函数只有一句,调用 init 方法。
当然,也可以把所有代码写在构造函数里,
但是要养成一个好习惯,就是尽量减少构造函数中的代码,
所以把代码写到了另一个方法中。
以下是原理图: