6

私はadobeflexでac/c++#defineに似た何かをする方法を探しています。

何かが定義されているかどうかに応じて、プロジェクトビルドがたどることができるさまざまなパスが必要です。そのようなものはフレックスに存在しますか?

グローバル変数を設定する方法があることは知っていますが、それは私の目的にはあまり合いません。多数の#ifndefinedを持つ構造を持つことができることなど、私が本当に必要としているのはそのようなものです。

ありがとう!

4

2 に答える 2

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);
        }
    }
}
于 2010-03-27T00:13:25.663 に答える
2

この情報をここに残しておきたい場合は、必要に応じて AS3 で C プリプロセッサ (CPP) を使用することができます。必要に応じて、MXMLC に組み込まれている機能よりも強力な機能を提供します。例:

http://osflash.org/flex2cpp

于 2010-03-29T16:10:27.060 に答える