getDefinitionByName getDefinition 区别

一闺密用flash开发IOS应用是遇到一个问题,她把声音资源放到swf里,然后load到主程序中使用,但是ios提示不支持这个swf,我在想是不是因为有声音的原因

于是我让她换种做法,不用swf,用swc,然后用getDefinitionByName()也可以获取到swc里的声音资源,因为很多,一个个new就太碉堡了。

这是我想到了swf加载好后用的时ApplicationDomain类的getDefinition方法,而这里主程序嵌入swc用的时全局公共方法getDefinitionByName(),

那这两个方法具体什么区别?

大概是这么个意思:

对于getDefinition() 是属于ApplicationDomain这个类得一个方法,用来获取外部域里的类,被加载得swf就是一个不同与主程序的外部域,

getDefinitionBYName()是用来在主程序中(自己的域)中获取一个类,

关于这个域,可以理解为疆域,

flash有自己的安全沙盒机制,说白了就是出与安全考虑,每个swf都有一个自己的域

你的主程序,会导出一个swf,是一个域
你加载的一个个的小swf,也有自己各自的域
即使一个小swf被加载到了主swf 中并且被addchild,小swf里的类也还是在它自己的域里

原文地址:https://www.cnblogs.com/JD85/p/3195399.html