Я ищу способ сделать что-то подобное c/c ++ #define в гибком проводе Adobe.
Я хотел бы иметь много различных путей, в зависимости от которых может взять сборка проекта, увядают, или не что-то было определено. Такая вещь существует в гибком проводе?
Я знаю, что существуют способы установить глобальные переменные, но та привычка действительно удовлетворяет моей цели. способность иметь структуры с многочисленным #ifndefined и таким действительно, в чем я нуждаюсь.
спасибо!
Фактически 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);
}
}
}
Чтобы сохранить здесь эту информацию, при желании можно использовать препроцессор C (CPP) с AS3. Он предоставляет более мощные функции, чем встроенные в MXMLC, если они вам нужны. Пример: