主swf 定义:MC,被加载swf 定义:MC、MC1

①父SWF的应用程序域的新建子域 (默认方式)称其为应用程序域的继承

 var app:ApplicationDomain=new ApplicationDomain(ApplicationDomain.currentDomain);
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;

如果子域中包含有与父域一样的定义(指的是完全限定名称一致,包括包路径)。那么父域中的定义会取代掉子域。

此时,被加载swf的“MC”被覆盖,两个域app、ApplicationDomain.currentDomain

访问:app.getDefinition("MC") as Class或者ApplicationDomain.currentDomain.getDefinition("MC") as Class都可以;

app.getDefinition("MC1") as Class可以;

ApplicationDomain.currentDomain.getDefinition("MC1") as Class不可以;

getDefinitionByName("MC") as Class可以;

getDefinitionByName("MC1") as Class不可以;

②子SWF 与父SWF的应用程序域合并

 var app:ApplicationDomain=ApplicationDomain.currentDomain;
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;

当向一个已经存在的应用程序域合并定义时,只有与原先的域里的定义无冲突的定义才会被合并,子SWF中包含了同名的定义,会被系统域中的定义所覆盖。

此时,只有一个域:ApplicationDomain.currentDomain,被加载swf的“MC”被覆盖

访问:getDefinitionByName("MC1") as Class可以;

ApplicationDomain.currentDomain.getDefinition("MC1") as Class可以;

③系统域下的新建子域,相同的定义也不会引起冲突

 var app:ApplicationDomain=new ApplicationDomain();
var loaderContext:LoaderContext=new LoaderContext();
loaderContext.applicationDomain=app;

getDefinitionByName与ApplicationDomain.getDefinition的更多相关文章

  1. 新人补钙系列教程之:体验ApplicationDomain 应用程序域

    要说应用程序域,就不得不说安全沙箱 安全沙箱在帮助文档的解释是: 客户端计算机可以从很多来源(如外部 Web 站点或本地文件系统)中获取单个 SWF 文件.当 SWF 文件及其它资源(例如共享对象.位 ...

  2. [转]AS3复制可视对象

    一,复制舞台上的影片剪 方法1——反射方法: var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Clas ...

  3. 隐私泄露杀手锏 —— Flash 权限反射

    [简版:http://weibo.com/p/1001603881940380956046] 前言 一直以为该风险早已被重视,但最近无意中发现,仍有不少网站存在该缺陷,其中不乏一些常用的邮箱.社交网站 ...

  4. as3调用外部swf里的类的方法

    as3项目要调用外部swf里的类有3种方法: 1.将外部的swf发布为swc,使用时将swc引用添加到相应的项目中,这应该是最简单的一种引用.不过当项目中的类或组件比较多时就会使项目发布生成的swf文 ...

  5. as3 Loader程序域

    Loader的 load方法有两个参数 第二个参数是LoaderContext对象 LoaderContext对象里有一个applicationDomain( 程序 域)对象 设置程序域对象可以设置两 ...

  6. 【转】Flash字体嵌入方法

    原文链接:http://www.cnblogs.com/ddw1997/archive/2011/11/13/2247546.html 一.如果使用flash cs5.5 1.先新建一个字体fla文件 ...

  7. [ActionScript 3.0] 动态链接库

    很多时候,我们为了项目和程序结构更加清晰,需要将发布好的swf放到一个固定的地方供主文件引用,这时就会出现发布好的swf所用的as类路径发生改变,为避免这个问题,需要用到动态链接库,以下做一个简单例子 ...

  8. 【AS3 Coder】任务六:人物换装(纸娃娃)系统的制作

    使用框架:AS3(Flash Professional CS5.0及更高版本 + Flash Buider)任务描述:了解人物换装系统的制作原理难度系数:2 本章源码下载:http://www.iam ...

  9. as3设计模式乱用之工厂模式

    好久没写技术相关的日记了,一忙,二懒,三则被这单调的生活熏得没什么感悟. 其实这篇日记早就想写了,项目开发初期的时候,带学生.经常看到那种乱用设计模式的现象.一方面,公司面试人的时候喜欢问设计模式,另 ...

随机推荐

  1. 《C++ Primer 4th》读书笔记 第7章-函数

    原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html

  2. Windows环境自动获取AWR报告

    1.双击awr.cmd,通过cmd窗口运行awr.sql cmd.exe /c sqlplus lcam_1230/zcpzg1z_1230@54_orcl @awr.sql awr.cmd 2.aw ...

  3. java transient简介

    我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable ...

  4. hdu 4300(kmp)

    题意:说实话这个题的题意还真的挺难懂的,我开始看了好久都没看懂,后来百度了下题意才弄懂了,这题的意思就是首先有一个字母的转换表,就是输入的第一行的字符串,就是'a'转成第一个字母,'b'转成转换表的第 ...

  5. 完美完全卸载Oracle 11g数据库

    Oracle 11g可在开始菜单中卸载,然后同时需要删除注册表中相关内容. 操作系统:windows10专业版. 卸载步骤: 1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的 ...

  6. HDU 5749 Colmerauer 单调队列+暴力贡献

    BestCoder Round #84   1003 分析:(先奉上zimpha巨官方题解) 感悟:看到题解单调队列,秒懂如何处理每个点的范围,但是题解的一句算贡献让我纠结半天 已知一个点的up,do ...

  7. 微信多媒体上传图片,创建卡券上传 LOGO

    //*****************************************多媒体上传图片 begin******************************************** ...

  8. DataGrid的打印预览和打印

    using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System. ...

  9. 取消eclipse启动时的subclipse Usage弹窗

    取消windows–>perferences–>general–>startup and shutdown里最下面的Subclipse Usage report 勾选即可

  10. salt 批量部署与配置

    salt是啥? salt是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统. salt 分为 master和minion,master顾名思义就是老大,管理子节点: ...