我正在寻找一种在adobe flex中做类似于c / c ++ #define的方法。
我希望项目构建可以采用许多不同的路径,具体取决于枯萎或未定义的东西。 flex中是否存在这样的东西?
我知道有办法设置全局变量,但这并不适合我的目的。能够拥有众多#ifndefined的结构,这就是我真正需要的。
谢谢!
答案 0 :(得分:11)
实际上,MXMLC(Flex SDK中的编译器)确实支持一些有限的预处理器功能。您可以使用它们传递常量值,或模拟#ifdef / #ifndef类型的功能。
示例1:
只有在-define=CONFIG::debugging,true
标志传递给编译器时才会执行此代码:
CONFIG::debugging {
// Execute debugging code here.
}
示例2:
根据您是否定义'CONFIG :: release'或'CONFIG :: debugging'
更改按钮的颜色// compilers/MyButton.as
package {
import mx.controls.Button;
CONFIG::debugging
public class MyButton extends Button {
public function MyButton() {
super();
// Set the label text to blue.
setStyle("color", 0x0000FF);
}
}
CONFIG::release
public class MyButton extends Button {
public function MyButton() {
super();
// Set the label text to red.
setStyle("color", 0xFF0000);
}
}
}
答案 1 :(得分:2)
为了保留此信息,如果您愿意,可以将C预处理器(CPP)与AS3一起使用。如果您需要,它提供的功能比MXMLC内置的功能更强大。例如: