·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 网络学院 > 网站建设 > Flash
FlashMX2004建立自定义类package
http://school.21tx.com 2005年05月16日

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

上一篇: fmx2004 1000问(2)
下一篇: Flash MX 2004 组件事件简单调试器

Google
 
学院频道推荐
学院热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net