新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 媒体动画 > Flash教程 > 正文:Flash教程:AS3.0 实现FLASH的“动态链接库”

Flash教程:AS3.0 实现FLASH的“动态链接库”

新客网 XKER.COM 2007-09-17 来源: 收藏本文
因为以前是做.net 的开发的,所以很习惯与 DLL 文件,觉得它异常方便,特别开发大型项目时,分成不同的DLL文件进行开发,不但节省了编译的时间,也使得程序结构更加完美. AS3中,写一类,代码如下:
package cw.DizhuAS3
{
public class DizhuRules
{
  public function DizhuRules()
  {
   trace("DizhuRules Create")
  }
}
}
新建一FLA[DizhuAS3.fla],写一帧写以下代码:
import cw.DizhuAS3.*;
DizhuRules;//这里还是和AS2一样,如果没在FLASH里出现过,编译的时候不会被编译进SWF中.
[size=+0][size=+0]
编译后得到包含有 DizhuRules 类的 DizhuAS3.swf 文件.我把他扔进一个叫LIB的文件夹里.再新建一FLA,尝试在第一帧写以下代码:
import flash.net.*;
import flash.events.*; var myloader:Loader = new Loader();
myloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLibLoaded);
myloader.load(new URLRequest("LIB/" + "DizhuAS3" + ".swf"));
function onLibLoaded(e:Event):void {
trace("load compele");
var ClassReference:Class = myloader.contentLoaderInfo.applicationDomain.getDefinition("cw.DizhuAS3::DizhuRules") as Class; //("cw.DizhuAS3::DizhuRules")  与 ("cw.DizhuAS3.DizhuRules") 效果一样
new ClassReference();
编译运行,可以看得到 DizhuRules Create 被 trace了出来...
AS3引入了 applicationDomain ,使得被载入进来的swf 里的类与主swf的里都存在与不同的环境中,从而不会出现像AS2中的旧的被新的同名的类替换的后果[因为AS2里的类都是加在_global上]
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐