假设我必须为不同的网站编译我的.swf的两个不同版本。区别在于ajax和重定向的主机名,代码和图形中的几个小调整添加到.swc中的项目中。我可以轻松切换不同的swcs,但代码调整很难轻松管理。我有
CONFIG::site1
{
private var _domainName:String = "site1.com";
}
CONFIG::site2
{
private var _domainName:String = "site2.com";
}
FB出现错误: 1151:内部命名空间中定义_domainName存在冲突。
我需要的是在C中像这样的smthn:
#ifdef SITE1
char hostname[] = "site1";
#endif
#ifdef SITE2
char hostname[] = "site2";
#endif
有没有办法使用mxmlc的方式使用编译指令?
P.S。现在一切正常
答案 0 :(得分:3)
我认为this documentation会对你有帮助。
在您的情况下,它类似于以下内容:
private var _domainName:String = NAMES::site;
mxmlc参数看起来像:
-define+=NAMES::site,"'site1.com'"
答案 1 :(得分:0)
你可以这样做:
private var _domainName:String = CONFIG::site1 ? "site1.com" : "site2.com";
如果您想了解配置常量的可能性,请查看此页面:
http://wiki.ecmascript.org/doku.php?id=proposals:program_configuration
到目前为止,我发现编译器支持本页提到的所有内容。
答案 2 :(得分:0)
为什么要对域进行编码? 不是指令或具体回答你的问题我只是说lol
private var _domainName:String;
var lc:LocalConnection = new Local
this._domainName= lc.domain;