FlashMX2004建自定义类package

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

AS2.0越看越象C#,JAVA.除了语法的定义相似。就连class类也能做成package(土语:自定义包),可集成你所有的自定义函数。方法。甚至组件扩展。包括引入FLASH的各种类包。还是写个很简单的入门例子:

在自己的flashmx2004目录Flash MX 2004\en\First Run\Classes\里建立myclass目录和子目录test,然后写个小的class文件,存入这个新建目录mytest.as class myclass.test.mytest { function addnum(num:Number):Number { return (num*2);}

然后建立一个fla,在第一帧写:import myclass.test.mytest;var my:mytest = new mytest();trace(my.addnum(10))

//应返回mytest类下addnum方法的值20

以上是只有一个类的package的引用。这个package是存放在flash 主要class文件目录下myclass\test\目录里的 import myclass.test.mytest 作用是引用这个package包。并且编译。下面我们再写一个class也放在这个myclass\test\目录里:mytest2.as class myclass.test.mytest2 { function addnum(num:Number):Number { return (num*num);}

然后,建立一个fla在第一帧写上:import myclass.test.*;

var my:mytest = new mytest();

var my1:mytest2 = new mytest2();

trace(my.addnum(10))

//这里返回的mytest类里的方法addnum的返回值20 trace(my1.addnum(10))

//这里返回的mytest2类里的方法addnum的返回值100

很显然。我用一个import myclass.test.* 把这个package下的两个class都能引入。并且能使用它们的各自方法。它们的方法名字一样。但执行的是各自class里的方法。

这个例子很简单,只是一个引路。你理解的话。能发挥的更好。比如。使用类扩展,超类,甚至可以嵌套FLASHCLASS包里的任何公共类。关于类扩展。超类,嵌套可以看前些天写过的。经典已经集中起来了。

下面有几个注意:

1,写好自己的类集合做成package时。如果放在Flash MX 2004\en\First Run\Classes\目录后。你要重启一下你的FLASHMX2004.才能在你的fla里引用你自己的package

2.如果其间你打开你的package里的class文件,改变里面的内容后。也要保存后。重新启动FLASHMX2004.需要重编译,不然你的fla将不会引用新改变的内容。

3,如果我不放在Flash MX 2004\en\First Run\Classes\目录的,能不能建立在别的目录。当然可以。不过你得要在PUBLISH SETTINGS里设置你的AS文件package包引用目录。详情可看小混蛋同志写的ActionScript 新手调试。

4.关于AS2.0的编写代码要求很严格。和JAVA.C#一样。 大小写很重视。并且,在你自定义Class时要注意定义类形和返回类形。这里提醒一下用 SciTEFlash写代码的朋友。有个bug,就是写function这个关键字时。SciTEFlash是大写的Function,会在AS2.0中出现错误。我是N久才发现这个问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航