MacでHaxeを書いてFlashにコンパイルしてみた

マルチプラットフォーム対応のゲームを作る為にMacにHaxeをインストールし,いろいろやってみたので備忘録として残しておく。今回はとりあえずHaxeでFlashを扱ってみた。

Haxeとは

Haxe(ヘックス,発音記号は /heks/)は汎用プログラミング言語の一つである。静的型付けのオブジェクト指向言語であり,構文はActionScriptおよび標準化が中止されたECMAScript 4に類似している。Adobe Flashおよび独自のVMで実行可能なバイトコードにコンパイルされるほか,JavaScript,ActionScript,C++,C#,Java,PHPへのソースコードの変換が可能であるため,主にマルチプラットフォーム開発を目的として使用される。

Flash向けに記述されたコードでもマルチプラットフォーム対応が可能

OpenFLという開発環境を用いることで,他の言語には無いFlash独自の仕様(MovieClip型)などを用いて記述されたコードからでも,マルチプラットフォーム向けのプログラムを生成することが出来る。

MacでHaxeを書いてみる

Haxeをインストールする

ターミナルからHomebrewでHaxeをインストールする。

brew install haxe

Haxeをインストールすると独自のVMであるNekoも一緒にインストールされる。

HaxeでFlashを作成するコードを記述する

Test.hxという名前のファイルを作成する。これは赤い四角形を描画するコードである。

class Test {
    static function main() {
        var mc:flash.display.MovieClip = flash.Lib.current;
        mc.graphics.beginFill(0xFF0000);
        mc.graphics.moveTo(50,50);
        mc.graphics.lineTo(100,50);
        mc.graphics.lineTo(100,100);
        mc.graphics.lineTo(50,100);
        mc.graphics.endFill();
    }
}

続いてcompile.hxmlという名前のファイルを作成する。これはコンパイル時にオプションとなるコマンドライン引数をコンパイラへ渡す為のファイルである。コンパイルの度にコマンドライン引数にオプションを指定するのは面倒なので,あらかじめここに記述する。

-swf test.swf
-main Test

作成したコードをコンパイルする

以下のようなコマンドを実行することで,上記で作成したコードをコンパイルし,swfファイルを作成することが出来る。

haxe compile.hxml

最後に,作成されたswfファイルをopenコマンドでブラウザで開くなりして実行確認をする。

open test.swf

参考
Haxe – Wikipedia
Getting started with Haxe/Flash – Haxe