ホーム > UnitTest > [CS4]条件つきコンパイルのメモ。

[CS4]条件つきコンパイルのメモ。

  • 2009/12/02 20:52
  • UnitTest

この記事を読んでいて、「条件つきコンパイル」というキーワードにぶつかったので、メモ。

結論。

条件付きコンパイルで設定した定数で、特定のコードやクラスをコンパイルから除外できるよー。

条件付きコンパイルのやり方

[ファイル]→[パブリッシュ設定]→[Action Script 3.0 設定] で、「Action Script 3.0 の詳細設定」ウィンドウを開く。

conditional_compile01

で、コードの中に、コンパイルされたくない部分を、こんな感じで書く。

//
config namespace UNKO; // config アクセス制御子(?:初めてみた)で、namespace を定義
UNKO::TEST_UNKO { trace("うんこンパイル"); }
//



「ActionScript 3.0 の詳細設定」ウィンドウで設定した定数を true にしてコンパイルして実行すると、
トレースが実行される。

定数を false にしてコンパイルして実行すると、トレースされない。



このやり方、まるっとメソッドを内包して書いてもイケます。

//
config namespace UNKO;

UNKO::TEST_UNKO { unkoFunc(); }

UNKO::TEST_UNKO {
	private function unkoFunc():void {
		trace("うんこンパイルなファンクション")
	}
}

定数が true であると、トレースが実行されます。



さらに。

class のアクセス制御子に書く事もできます。

//
config namespace UNKO;

UNKO::TEST_UNKO class UnkoScene extends SceneObject
	{

		/**
		 * 新しい UnkoScene インスタンスを作成します。
		 */
		public function UnkoScene( name:String = null, initObject:Object = null ) {
			// 親クラスを初期化する
			super( name, initObject );

			// シーンタイトルを設定します。
			title = "title";
		}
    ...

こうなると、クラスごとコンパイルされません。



アサーションの文を入れてたり、デバッガと通信用のためのクラスだったり、リリースビルドの時にいらないものを
この定数(名前空間?)を指定してやると、コンパイルされません。(一応、デコンパイラで確認してみました)

大好きなあの子の名前をテストクラス名にしちゃった人とか、重宝するんじゃないでしょうかー。

これって、Flex-er の方にとっては常識なんですかね。
CS4erの自分は、初めてしって、ちょっとびっくり。

でも、true, false の切り替えが若干面倒ではあります。
Flash のメニューバーからの階層もかなり深いですし。

んー、一長一短。
ウ○コしたかったら、したらいいじゃない、って事ですかー。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://djakarta-trap.net/blog/2009/12/conditional_compile01/trackback/
トラックバックの送信元リスト
[CS4]条件つきコンパイルのメモ。 - djakarta-trap より

ホーム > UnitTest > [CS4]条件つきコンパイルのメモ。

検索
フィード
メタ情報

ページの上部に戻る