
- 本栏最新文章
- 用实例学习一步一步使用Flash AS3.0 脚本语言 04-04
- Flash AS3.0 实现FLASH的“动态链接库” 03-31
- Flash AS3.0 爽快使用XML 03-31
- 学习As2.0与AS3.0的尴尬 03-16
- AS打造的复制粘贴功能 03-14
- Flash as制作一个铅笔画图程序教程 03-07
- AS3中的数据存取方式效率比较 03-01
- AS3.0的类及绑定 03-01
- As3.0 decompiler反编译器 01-24
- As3.0 xml + Loader 01-24

- 本栏推荐文章
- ASP.NET设计网络硬盘之查看文件夹 04-29
- ASP.NET设计网络硬盘之文件夹实现 04-29
- ASP.NET设计网络硬盘之上传文件 04-29
- 小试ASP.NET 2.0的兼容性 04-29
- ASP 系列函数大全 04-29
- Asp.net Mvc Framework 九 (View与Controlle... 04-04
- 【翻译】动态调用样式表代码 04-04
- Flash AS3.0 实现FLASH的“动态链接库” 03-31
- Flash AS3.0 爽快使用XML 03-31
- MySQL的LIST分区体验与总结 03-27
Flash AS3.0 实现FLASH的“动态链接库”
因为以前是做.net 的开发的,所以很习惯与 DLL 文件,觉得它异常方便,特别开发大型项目时,分成不同的DLL文件进行开发,不但节省了编译的时间,也使得程序结构更加完美. AS3中,写一类,代码如下:
packagecw.DizhuAS3
{
publicclassDizhuRules
{
publicfunctionDizhuRules()
{
trace("DizhuRulesCreate")
}
}
}
import cw.DizhuAS3.*;
DizhuRules;//这里还是和AS2一样,如果没在FLASH里出现过,编译的时候不会被编译进SWF中.
[size=+0][size=+0]
编译后得到包含有 DizhuRules 类的 DizhuAS3.swf 文件.我把他扔进一个叫LIB的文件夹里.再新建一FLA,尝试在第一帧写以下代码:
importflash.net.*;
importflash.events.*;varmyloader:Loader=newLoader();
myloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLibLoaded);
myloader.load(newURLRequest("LIB/"+"DizhuAS3"+".swf"));
functiononLibLoaded(e:Event):void{
trace("loadcompele");
varClassReference:Class=myloader.contentLoaderInfo.applicationDomain.
getDefinition("cw.DizhuAS3::DizhuRules")asClass;//("cw.DizhuAS3::DizhuRules") 与("cw.DizhuAS3.DizhuRules")效果一样
newClassReference();
}
编译运行,可以看得到 DizhuRules Create 被 trace了出来...
AS3引入了 applicationDomain ,使得被载入进来的swf 里的类与主swf的里都存在与不同的环境中,从而不会出现像AS2中的旧的被新的同名的类替换的后果[因为AS2里的类都是加在_global上]


