Можно ли сделать #define в Adobe Flex? - PullRequest
6 голосов
/ 27 марта 2010

Я ищу способ сделать что-то похожее на c / c ++ #define в Adobe Flex.

Мне бы хотелось иметь много разных путей, по которым сборка проекта может идти в зависимости от того, было ли что-то определено. Существует ли такая вещь во флексе?

Я знаю, что есть способы установки глобальных переменных, но они действительно не соответствуют моим целям. возможность иметь структуры с множеством #ifndefined, и это действительно то, что мне нужно.

спасибо!

Ответы [ 2 ]

11 голосов
/ 27 марта 2010

На самом деле 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);
        }
    }
}
2 голосов
/ 29 марта 2010

Просто чтобы сохранить эту информацию здесь, можно использовать препроцессор C (CPP) с AS3, если вы хотите. Он предоставляет более мощные функции, чем встроенные в MXMLC, если они вам нужны. Пример:

http://osflash.org/flex2cpp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...