Haxe + OpenFL:私の祖母でさえiOS向けのゲームを作ることができます





こんにちは%USERNAME%! HaxeでiOS用のゲームの開発を最小限の労力で開始する方法を説明することにしました(実際、これだけでなく、この記事をこのプラットフォームに限定することにしました)。



これには次のものが必要です。

  1. おばあちゃんの手。 できれば直接。 肩からさらに望ましい。
  2. Mac OS X
  3. Xcode
  4. ゲームのアイデア。




リストにあるものが利用できない場合でも、カットの下にいるすべての人を招待します。





設置



まず、コンソールに移動してhaxeコマンドを実行します。 突然何らかの理由でメッセージが表示された場合



-bash: haxe: command not found
      
      





次に、リンクhttp://haxe.org/downloadからHaxe 3を実行してダウンロードします。Haxeがないことを他の人に伝えないでください 。)



次のステップは、Flash APIをさまざまなプラットフォームに実装するクロスプラットフォームSDKであるOpenFLをインストールすることです。



 haxelib setup haxelib install openfl haxelib install openfl-tools haxelib install openfl-native
      
      







必要なライブラリをインストールした後は、OpenFLを初期化するだけです。



 haxelib run openfl setup
      
      





ライブラリのロードに失敗しましたか? ネタバレを見る
次のようなエラーが突然発生した場合:



 Uncaught exception - load.c(237) : Failed to load library : nme.ndll (dlopen(nme.ndll, 1): image not found)
      
      





これはパニックになる理由ではありません。 コマンドを実行するだけです:

 bash <(curl -s https://gist.github.com/jgranick/5658434/raw/dbdb6bbeecceeeda554a815aa8e57616540d6544/install.sh)
      
      















記事を引き伸ばさないために、OpenFLにバンドルされているPiratePigゲームの例を使用します。スクリーンショットは上記にあります。



自宅で同じ魅力を得るために、ターミナルでコマンドを実行します:

 openfl create PiratePig
      
      







最後に、作業の準備ができたプロジェクトPiratePigフォルダーに表示されます。 シミュレーターで実行します。



 cd PiratePig/ openfl test ios -simulator
      
      







すべてがうまくいった場合(そうでない場合);)、次のようなiPhoneシミュレーターが表示されます。





シミュレーターでゲームを賞賛した後、非常に期待される質問が発生します:「このデバイスでどのように起動できますか?」。 答えは明らかです。



 openfl test ios
      
      







チームは、開発者が最初に接続したiOSデバイスでアプリケーションを起動します。



次は?



Adobe AIRで働いた人は、iOS用のアプリケーションをパッケージ化することの恐ろしさを覚えています。 Haxe + OpenFLのおかげで、 Export / ios /フォルダーにある標準のXcodeプロジェクトを取得できるため、アプリケーションをApp Storeに送信するプロセスは、ネイティブのXcodeプロジェクトのプロセスと似ており、Habréを含む繰り返し説明されています。



よくある質問



Haxe + OpenFLリンクはネイティブ拡張を許可しますか?
はい、さらに、それに関する記事がすでにあります: habrahabr.ru/post/186230





Flash後にOpenFLに切り替えるのは難しいですか?
Haxe言語はAS3に非常に近く、OpenFLライブラリでは使い慣れたFlash APIを使用できるため、移行は可能な限り簡単になります。





そして、私のアプリケーションはAppStoreに入りますか? クロスプラットフォーム-インタープリターが存在することを意味します!
人気のある誤り。 iOSでコンパイルすると、ネイティブC ++コードが得られます。





Flash API? OpenGLを使用する場合はどうなりますか?
OpenFLはFlash APIに近いという事実にもかかわらず、ネイティブ開発のすべての利点を奪うわけではありません。 さらに、OpenFLでは、すべてがOpenGLを介してレンダリングされます。 このリンクは、OpenGLの使用例です。





App StoreでOpenFLで書かれたプロジェクトは既にありますか?
itunes.apple.com/au/app/beetle-bots/id663201690?mt=8

itunes.apple.com/us/app/light-bot/id657638474?mt=8&ign-mpt=uo%3D4

itunes.apple.com/us/app/pexeso-free/id662710926?mt=8



さらに多くあります。これらは最初に手に入れたリンクです。





おわりに



HaxeライブラリーとしてのOpenFLは、クロスプラットフォーム開発に大きな期待を寄せています。 この記事では、iOS向けの開発時に使用する方法を示しましたが、このゲームはAndroid、 HTML5、またはFlashでも実行でき、どこでも同じように動作します( サポートされているプラ​​ットフォームの全リスト )。 試してみて、あなたの経験を共有してください!



All Articles