2013年01月13日 14:03

Haxe + NMEことはじめ

 Haxeというプログラミング言語があるそうな。コンパイル型の言語ではあるが、CPUやOSに対してのネイティブなコードを吐き出す類の物ではなく、太古のPascalや現在のJAVAのように中間言語を吐き出すタイプにおそらくは分類出来るのではなかろうか。面白いのは、この吐き出す中間言語に相当する物がjavaScriptだったり、FlashのActionScriptだったり、その他色々な言語での吐き出しが出来るそうな。ふむ…。こういう変態的(ほめている)な道具は大好きである。

 実はこれを知ったのは随分前なれど、年のせいか重い腰が持ち上がらなかったのだが…連休の暇さ加減に飽きがさし試してみる事にした。いや…別途やらなきゃいけない仕事もあるんだけどさ。太古の時代よりこういった行為を「現実逃避」と呼ぶのだな、きっと。

 で、早速。インストールについては、開発環境のFlashDevelopとHaxe本体を入れてしまうだけという割と簡単な物。ぶっちゃけFlashDevelopについては、小生はFlash系で色々やっていたため導入済みで何の問題もない。まぁ、この辺のインストールについては他のサイトに譲ろう。というのも、特にFlashDevelopあたりは結構頻繁に更新が入るため、小生がここで記しても、すぐにやり方が変わってしまうからである。ふむ。諸行無常という奴であろうか…いや、単に書くのが面倒くさいだけである。といっても、現時点では最新版をダウンロードして、デフォルトでインストールして終わり、なんだけどね(あ、書いちゃった)。

 さて。最初の一歩、もはや世界共通の様式美である「HelloWorld」を書いてみる。うん、普通に出来た。日本語は大丈夫だろうか。「疲労ワールド」。うん、ここまでは問題ない。

 では…次のステップかな。画面に線を引いてみよう。

 ………あれ?

 ………グラフィック系に関するリファレンスが見つからない!?

 ………コード補完をひと通り眺めてみても、よくわからない!?

 むぅ。FlashDevelopのプロジェクト作成時に「Haxe AS3 Project」を選んでいれば、ActionScript3のムービークリップやスプライトと同じ扱い方で書けそうなので、そっちなら線だの四角だのを描いたり動かしたりは余裕なんじゃなかろうか…というあたりは理解したのだが、それだと出力もFlashだけになってしまう。小生がやりたいのは、それをHTML5+javaScriptで描いたり動かしたり、時々Android端末に持って行ったり、そんな感じの事なのである。故にこれではダメだ。もうちょっと何かないのだろうか?

 と、ネットを彷徨っていたら「NME」なる物を見つけた。Haxeで使用する、一つのコードからAS3だのjavaScriptだのを吐き出せるライブラリだそうな。…あれ?Haxeの謳い文句と同じじゃね?

 あぁ、そうか。Haxeは言語仕様がメインであって、対応している全部の言語の「最小集合」とでも言うか、そういう感じの部分なんだろうな。それで、ある言語では出来るけど別の言語では出来ないような物は、それを吸収するための、つまりは「出来ない方の言語」で「出来る言語のそれに相当するルーチン」をライブラリとして作っておかなきゃ無理だよなぁ。確かに、AS3のムービークリップなんて他言語じゃライブラリ作らないと無理だな。…という感じに理解した。

 何はともあれ。NMEをダウンロードしてきてインストール。FlashDevelopからHaxeのNME Projectを作成。何もしないでコンパイル、ラン。

 …動かない。エラーではじかれる。というか、コンパイル時にコマンドが見つからないと言われる。諸々のトライがあったがそれは省略して結果だけ書くと、環境変数の関係か知らんが再起動で通るようになった。わはは。

 というわけで、しばらく備忘録も兼ねて Haxe + NME の話でも書いてみたいと思う。
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。