なかなか記事を書けないのですが、すべては花粉のせいです。毎年この時期、生産性が3割ぐらい落ちている気がします。
最近は今まで使っていなかった言語を勉強したり試したりしていることが多いのですが、今日はその一環として、HaxeとOpenFLを使った簡単なプログラムを作成してみたいと思います。
HaxeとOpenFLについて
Haxeはオープンソースのプログラミング言語です。JavaやC#に似た静的型付きのオブジェクト指向の言語で、様々なプログラミング言語のいいところを無難にバランス良く取り込んだ仕様になっています。
その最大の特長は、各種プログラミング言語に変換可能なことで、専用のVM向けのコンパイルに加えて、JavaScript、ActionScript、C++、C#、Java、PHP、Python等に変換を行うことができ、ワンソースでWindows、Linux、Mac OS X、Android、iOS、Webに同時対応することができます。
OpenFLはHaxe向けのオープンソースのフレームワーク+開発環境で、Haxeのマルチプラットフォーム対応とFlash由来のAPIで、手軽にマルチプラットフォーム対応のインタラクティブアプリを開発することができます。
HaxeとOpenFLで作られたゲームの例としては、斬新なゲームデザインで話題を集めたインディゲームのPapers, Pleaseなどがあります。
HaxeとOpenFLをセットアップする
Haxeのインストールは、公式サイトのDownloadページから各プラットフォーム向けのインストーラを入手・実行することで行います。(Macの場合Homebrewからもインストールできるのですが、追加作業がいくつか必要だったり上手くいかなかったりする様子なので私は使いませんでした)
Haxeのインストールが終わったら、次に付属のライブラリ管理ツールであるHaxelibのセットアップを行います。
haxelib setup
上記のコマンドを実行すると保存用のフォルダを質問されます。
Please enter haxelib repository path with write access Hit enter for default (/usr/lib/haxelib) Path :
ここでは、デフォルトのフォルダでよければそのままEnter
を、指定のフォルダがあれば入力します。ただし、MacのEl Capitan以降だと、/usr/lib
以下のフォルダへの書き込みができなくなっていますので、代わりに/usr/local/lib/haxelib/
等の他のフォルダを指定する必要があります。
続いて以下のコマンドでOpenFLをインストールします。
haxelib install openfl haxelib run openfl setup
OpenFLのインストール終了時に、
Do you want to install the "openfl" command? [y/n/a] ?
と聞かれますので、ここはy
を押してopenfl
コマンドを実行できるようにします。
ターミナルからopenfl
を実行して、アスキーアートのOpenFLロゴが表示されればインストールは完了です。
簡単なプログラムを作成する
準備が整ったところで、いよいよプログラムを作成します。…と言いつつも、手を抜いて標準で提供されるサンプルをベースに機能を試してみることにします。
OpenFLが提供するサンプル一覧はopenfl create
で表示されるので、それを参考に文字を表示するサンプルを次のコマンドでコピーします。
openfl create AddingText
次にAddingText/Source/Main.hx
を以下のように修正します。
作成したコードを実際に動かしてみます。
openfl test AddingText neko
かなり地味ですが、テキストと円をアニメーションさせることができました。
感想
HaxeとOpenFLは、よくできているしツールも洗練されていると感じました。ただ、そこはかとなく古い印象とマイナー感があるのは、Flash/ActionScriptの流れを受け継ぐものの宿命とか呪い的な何かなのかもしれません。
Cocos2d-xと色々な部分が似通っていますが、やはり後発な分、Cocos2d-xの方が今風な印象を受けました。どちらを使おうかな。