快速业务通道

FlashMX2004 建自定义类package

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10

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久才发现这个问题.

关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号