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

actionscript-3 – AS3从外部SWF实例化类

发布时间:2020-12-15 19:47:07 所属栏目:百科 来源:网络整理
导读:我正在和我的伙伴聊聊这件事,他确信你可以做到这一点并说他已经做到了,但是我无法让它发挥作用. 我想知道它是否有可能.我尝试在外部下载的SWF中键入一个var作为一个类,然后创建一个实例但不能做. 一些代码 私有静态函数onCompleteHandler(e:Event) { ????da
我正在和我的伙伴聊聊这件事,他确信你可以做到这一点并说他已经做到了,但是我无法让它发挥作用.

我想知道它是否有可能.我尝试在外部下载的SWF中键入一个var作为一个类,然后创建一个实例但不能做.

一些代码

私有静态函数onCompleteHandler(e:Event)
{
????dashboardObject = e.target.content;
????????// registerClassAlias(“仪表板”,);不起作用
????var dash:Class = getDefinitionByName(“Dashboard”)作为Class;
????var myDash = new dash();
????迹(myDash.show);
}

错误

ReferenceError:错误#1065:未定义变量仪表板.
????at global / flash.utils :: getDefinitionByName()
????在System $/ onCompleteHandler()

因此,除非在项目SWF中编译,否则您似乎无法创建类的实例.如果这是真的是我想要它做的事情.我不希望人们试图通过下载SWF文件来创建我的类的实例,而不是我在这里构建的内容.

谢谢

解决方法

你需要做两件事:

>为Dashboard提供一个包(package.to.Dashboard).无包类具有编译形式的不同属性(受保护的命名空间),而不是具有包的属性,使得外部SWF无法访问它们.
>确保已加载的SWF已加载到与父项相同的ApplicationDomain中

然后,您应该能够从加载的SWF中使用getDefinitionByName并重新获得返回类.

(编辑:李大同)

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

    推荐文章
      热点阅读