我正在尝试使用“define”mxmlc编译器选项将编译时常量嵌入到我的SWF文件中。
<mxmlc ...>
<define name="NAMES::PluginCompileTime" value="Hello World!"/>
</mxmlc>
如果我将其“硬编码”到我的代码库中,我可以访问此变量,如下所示:
public static const PLUGIN_COMPILED_TIME:String = NAMES::PluginCompileTime;
但是,我希望能够在运行时使用getDefinitionByName()这样做:
var value:* = flash.utils.getDefinitionByName("NAMES::PluginCompileTime");
这会引发以下错误:
ReferenceError: Error #1065: Variable PluginCompileTime is not defined.
有没有人知道在运行时完成在命名空间中加载编译时常量的方法?
答案 0 :(得分:1)
编译时常量在运行时不可用。它们仅在编译时可用。
如果您需要将其值作为命名空间const,那么正确的解决方案就是“硬编码”它。就像您已经完成的那样。