用flex加载外部swf,如何获得外部swf的原flex项目中的所有元件以及所有定义的类.as的属性方法 5

 我来答
南国孤叶
2013-04-19 · TA获得超过244个赞
知道小有建树答主
回答量:343
采纳率:0%
帮助的人:191万
展开全部
var urlRequest = new URLRequest(url);
var loader = new Loader;
//可以指定自身安全域的东西,我也不知道怎样解释;
var context:LoaderContext = new LoaderContext();
//指定域,即 context的applicationDomain为程序运行当前域。
context.applicationDomain = ApplicationDomain.currentDomain;

loader.load(urlRequest,context);

loader.contentLoaderInfo.addEventListener("complete",onCom);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,function(){
trace("找不到")
})
function onCom(e = null){
//当context的app域中拿到一个叫className的类。但出方法只限定于类,只放到库中的无外部关联的原件不能拿到
var tempClass:Class = context.applicationDomain.getDefinition(className) as Class;
var mc =(new tempClass);
}
原理就是,我们当前运行的程序就是一个很多的对象池,但是你load出来的swf是不会自动指定到这个池,所以你要修改下这个池的地址,然后你就可以操作里面的东西。当然你可以指定多个池,然后在其它池拿你想要的对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式