haxe、flow、snow、luxeでのゲームのクロスプラットフォーム開発の概要



こんにちは、開発者の皆さん!
今日は、プラットフォーム、sdk、コンパイラ、ビルド、デプロイメント、およびその他のアイデアを忘れられるように、ゲームの作成に直接突入する方法についてお話したいと思います。 最新の高級言語でコードを記述し、ホスト軸でサポートされているすべてのプラットフォームですばやくテストする方法があります。



そのため、C ++とC#のほかに、クロスプラットフォームゲームの開発を可能にする言語、 haxeもあります。
Haxeは言語、そのコンパイラ、クロスプラットフォーム標準ライブラリ、およびアドオン、拡張機能、ライブラリのシステム-haxelibです。

言語は、ActionScriptおよびC#に最も似ています。 私にとっての最大の強みは、haxeで記述されたコードを、C ++、JavaScript、C#、Java、PHPなどの他の言語のコードにコンパイルできることです。 同時に、haxeコードがコンパイルされた言語のライブラリへの特別なアクセスクラス(バインド)を作成できます。
しかし、Haxeでの開発は、 スノーキットがなければ魅力的ではありません。

snowkit = flow + snow + luxe + developers 

Snowkitは、ゲームを作成するためのライブラリ、ユーティリティ、およびその他のツールのコレクションであるだけでなく、このプロジェクトを開発およびサポートし、使用し、それに興味を持っているコミュニティでもあります。 Snowkitは、 フロー (プロジェクト管理とアセンブリ)、 snow (プラットフォームから抽象化された低レベルシステムAPI)、 luxe (これまでの2dの高レベルゲームエンジン)で構成されています。
luxeの例を使用してhaxe-snowkitで開発する方法を見てみましょう。

インストールとセットアップ


公式サイトからHaxeツールキットをインストールします。 この記事を書いているときは、windowsが使用されましたが、他のデスクトップシステムについては、説明されているものすべてに大きな違いはありません。 Windowsのインストーラーを使用する場合、彼自身が必要なパスをpathに追加します。

Windowsで開発するには、Visual Studio 2010以降をインストールする必要があります。Expressを使用することもできます。 ここから Windowsデスクトップ用のExpress 2013を使用しています 。 Android向けに開発する場合は、適切な最小インストール(Android SDK、Android NDK、Apache Ant、JDK)が必要です。 システムには、適切な環境変数JAVA_HOMEおよびANDROID_NDK_ROOTも必要です重要JAVA_HOMEは、jreではなくjdkへのパスを指定する必要があります。

次に、作業環境を準備してテストします。 まず、haxeがインストールされ動作していることを確認します(コンソールで):

  haxe -help haxelib 

次に、haxeに組み込まれた拡張システムを介してhxcppをインストールします。

  haxelib install hxcpp 

hxcppは、さまざまなコンパイラを使用してさまざまなプラットフォームのネイティブコードにコンパイルするためのサポートです。
hxcppが稼働していることを確認するだけです:

  haxelib run hxcpp 

フロー、雪、豪華なインストール:

  haxelib git flow https://github.com/underscorediscovery/flow.git haxelib git snow https://github.com/underscorediscovery/snow.git haxelib git luxe https://github.com/underscorediscovery/luxe.git 

フローを構成します。

  haxelib run flow config build.android.sdk "path\to\android-sdk-windows\" haxelib run flow config build.android.ant_path "path\to\apache-ant-1.9.4\bin\ant.bat" 

プロジェクトの立ち上げをテストする


次に、現在のシステムが動作していることを確認するために、ディレクトリ/ haxe / lib / luxe / git / samples / alphas / 1_0_parrottをコピーします
テストに便利な他のディレクトリに移動します。 そして今、このディレクトリのコンソールで:

  haxelib run flow run 

スクリーンショット


インストールまたはコンパイルにエラーがなかった場合、ウィンドウが表示され、実行中のアプリケーションが表示されます。
異なるシステムでは、次のようになります。

  haxelib run flow run windows haxelib run flow run linux haxelib run flow run mac 

しかし、楽しみはここから始まります。

  haxelib run flow run web 

スクリーンショット


フローはJavaScriptでhaxeコードを正しくコンパイルするだけでなく、リソースを準備し、ページを作成し、システムのテストWebサーバーを起動し、このページでブラウザーを開きます。 そして、アンドロイドでもまったく同じです:

  haxelib run flow run android 

スクリーンショット


Androidのネイティブコードがコンパイルされ、Androidプロジェクトに必要なファイル、リソース、アイコンがコピーされ、プロジェクトが作成され、Android SDKを使用してプロジェクトがアセンブルされ、デバイスにアップロードされます。
あ! 本当にきれいでした! 見つけられませんか?!

Sublimeとの統合


しかし、開発をさらに楽しくするのはSublime Text 3との統合です。すべてのスノーキットの創設者であるSvenBergströmは、2つのオプションを提供します。


2番目のオプションの利点は、クロスプラットフォームですが、クローズドかつ有料のソフトウェアです。 Sublimeがこれまでのところ私を喜ばせたからといって、私はそれから始めようとしましたが、おそらく間違いではありませんでした。 ここから Package Controlがインストールされていることを前提としています

コマンドpalleteを入力します。

  Package Controll: Add Repository https://github.com/underscorediscovery/sublime_haxe_completion Package Controll: Add Repository https://github.com/underscorediscovery/sublime_flow Package Controll: Install Package sublime_flow Package Controll: Install Package sublime_haxe_completion 

次に、開いているSublimeで、プロジェクトのディレクトリを追加します。プロジェクトのルートには.flowファイル(project.flowまたはその他の便利なファイル名)があり、このファイルを開きます。 これで、メインのSublimeワークスペースのコンテキストメニューに「現在のフロープロジェクトとして設定」という項目が表示されます。

Ctrl + Bを押すだけです。 これで、.flowまたは.hxファイルのコンテキストメニューに「フローステータス」項目が表示されます。このヘルプを使用して、プロジェクトのビルドおよび起動設定(デバッグ、詳細、ターゲットプラットフォームなど)を変更できます。 私の場合、それはwindows、android、そして今ではflow-snow-luxeのおかげで、webでもあります。

しかし、いくつかの仮想マシンを配置し、それらに必要なツールをインストールし、崇高なプロジェクトを開くことは価値があります-私は超メガインディwindows-linux-mac-android-ios-webglゲーム開発者です! この記事の後、私だけではないことを願っています。

参照資料


» Haxe.org
» Lib.haxe.org
» Snowkit.org

PS私にとって、haxeとsnowkitの知り合いは、 zzzzzzergの翻訳投稿から始まりました。12です。 このことを示してくれた彼に感謝します。

更新1.アプリケーションのビルドおよび起動コマンドを修正しました。 それらは:
  haxelib run flow haxelib run flow web 

そしてすべきだった:
  haxelib run flow run haxelib run flow run web 

更新 2。JAVA_HOMEのjdkへのパスの重要性に注意してください

Source: https://habr.com/ru/post/J245895/


All Articles