我有2个swf-s, main.swf 和 another.swf 。
main.swf将在运行时加载another.swf
相应的课程为Main
和Another
他们两个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
类完成。
答案 0 :(得分:1)
加载类时,其完全限定的域名(pacakge名称+类名称)将添加到排序的全局注册表中。当main.swf
加载Constant
类时,该类将被缓存。这个注册表是在编译时生成的,因此main.swf
的{{1}}类定义被缓存,就像它编译时一样。
事实上,如果您更改Contant
,则只能重新编译Constant
,并且可以在main.swf
中看到修改后的定义。