“main”swf的导入是否隐藏了动作脚本3中加载的swf的导入?

时间:2013-05-30 05:12:31

标签: actionscript-3 import flash swfloader

我有2个swf-s, main.swf another.swf
main.swf将在运行时加载another.swf 相应的课程为MainAnother 他们两个import是一个共同的班级Constant

问题是:
如果我对类Constant进行更改,比如为类Another定义一个新常量,那么我肯定想编译 another.swf
然后,我运行 main.swf 并加载 another.swf ,但Constant的更改未应用!

相反,我必须重新编译 main.swf ,以便将更改应用于 another.swf
看起来好像 another.swf main.swf 加载,因此import也依赖于 main.swf 。<登记/> 当您首先运行 main.swf 时,首先将Main import类放入Constant类,以便隐藏(或忽略)任何即将发布的import?这是真的吗?

import仅执行一次,并由首次播放 .swf 执行吗?

.swf 加载由flash.display.Loader类完成。

1 个答案:

答案 0 :(得分:1)

加载类时,其完全限定的域名(pacakge名称+类名称)将添加到排序的全局注册表中。当main.swf加载Constant类时,该类将被缓存。这个注册表是在编译时生成的,因此main.swf的{​​{1}}类定义被缓存,就像它编译时一样。

事实上,如果您更改Contant,则只能重新编译Constant,并且可以在main.swf中看到修改后的定义。