加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

actionscript-3 – 如何获取加载的SWF的ApplicationDomain中的所

发布时间:2020-12-15 07:33:38 所属栏目:百科 来源:网络整理
导读:当您将SWF加载到另一个SWF中时,加载器SWF可以使用ApplicationDomain.getDefinition(name:String)从加载的SWF获取特定定义.例如: package { // ... imports public class SWFLoader extends Sprite { private var loadedAppDomain:ApplicationDomain; publi
当您将SWF加载到另一个SWF中时,加载器SWF可以使用ApplicationDomain.getDefinition(name:String)从加载的SWF获取特定定义.例如:

package 
{
    // ... imports

    public class SWFLoader extends Sprite
    {
        private var loadedAppDomain:ApplicationDomain;

        public function SWFLoader()
        {
            var request:URLRequest = new URLRequest("test.swf");
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onTestLoadComplete);
            loader.load(request);
        }

        private function onTestLoadComplete(event:Event):void
        {
            var loaderInfo:LoaderInfo = LoaderInfo(event.target);
            loadedAppDomain = loaderInfo.applicationDomain;

            // Here we can get ANY defined symbol (class,namespace or function according to Adobe Flash help)
            var someSymbolClass:Class = Class(loadedAppDomain.getDefinition("SomeSymbol"));
            var someSymbolSprite:Sprite = Sprite(new someSymbolClass());

            addChild(sprite);
        }
    }
}

如何在SWF中获取所有定义,而不明确指定?

解决方法

从Flash Player 11.3开始,您可以使用ApplicationDomain.getQualifiedDefinitionNames().

见the official documentation for the method和this blog post about the Flash Player release.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读