最も重要なライブラリは、Mac、Windows、Linux、Android、iOS、およびWebGLで同じコードを使用してゲームを作成できる豪華なゲームエンジンです。
私の意見では、Haxeはクロスプラットフォーム開発で重要な役割を果たす強力なツールです。 私が知っている最善の方法でHaxeインフラストラクチャを開発するための努力をしたいと思っています。
![画像](https://habrastorage.org/getpro/habr/post_images/370/97a/13e/37097a13eea53280080ba19af65ece2c.png)
では、スノーキットとは何ですか?
スノーキットは活発な集団です。 これは、Haxe用の高品質インフラストラクチャを作成するという共通の目標によって結ばれたライブラリ、ツール、および開発者のセットです。
snowkitでは、コミュニティを結び付ける目標と理想に関する詳細情報を見つけることができます。
Haxeとは何ですか?
Haxeは、そのコードを他のプログラミング言語のコードにコンパイルする、表現力豊かで美しい最新のプログラミング言語です。 彼の詳細については、 HaxeのWebサイトをご覧ください 。
![画像](https://habrastorage.org/getpro/habr/post_images/ea4/554/585/ea45545852ba14e29fd849d450ceee9b.png)
アルファリリース
本日(2014年9月30日)公開されたアルファ版には、高レベルのゲームエンジン、さまざまなプラットフォームをサポートする低レベルのフレームワーク、Haxeのビルドシステムが含まれています。 現時点では、Mac、Windows、Linux、Android、iOS、およびWebGL用のアプリケーションを作成することを目的としています。
これらのライブラリでの作業が進行中であるという事実にもかかわらず、私はこれらのライブラリの初期バージョンを発表して公開できることを非常に嬉しく思います。 そして、私はあなたが今日それらを使い始めるという目的のためにこれを行います。
他のアルファ版と同様に、公開されたライブラリには機能があり、作業を継続します。ライブラリにエラーが発生し、ドキュメントが欠落している場合があります。 しかし、あなたの助けを借りて、私たちがずっと早く安定したバージョンに到達することを願っています。
ライブラリがアルファ版であるという事実にもかかわらず、それらは非常に安定しており、日常の使用に適しています-そして数ヶ月間、それらは大規模な開発者グループによって絶えず使用されてきました。 製品をリリースする前に徹底的にチェックする必要があると思います。これを行う最善の方法は、できるだけ早く日常業務で使用することです。
ただし、警告したいのは、 これはアルファ版であるため、小さな変更は常に発生します。 もちろん、すべての変更は文書化されます。バグ修正と新機能をできるだけ早く入手するために、アルファバージョンが終了するまでソースコードの最新バージョンを使用することをお勧めします。
主な機能の作業が完了するとすぐに、最初の「番号付き」公式バージョン-beta-1-が公開されます。 それまでの間、作業はgithubで継続されます。
さて、今、私はライブラリの説明に進みたいと思います:
flõw
そして、私が最初に話したいのは、フローアセンブリシステムです。 Haxeの新しいインフラストラクチャを構築することを目的に、ゼロから作成されました。
![画像](https://habrastorage.org/getpro/habr/post_images/27a/40a/6b2/27a40a6b251e987b6e01afe9c05b02fc.png)
フローは小さなJsonファイルを入力として受け取り、その説明に従って、標準テンプレートを使用してアプリケーションレイアウトを作成し、Haxeを使用してソースコードをコンパイルし、hxcppを使用して生成されたコードをコンパイルし、Webまたはネイティブプラットフォーム用の既製のアプリケーションをビルドします。
Flowは、既存のHaxeインフラストラクチャ上でビルドし、haxelibを使用し、ビルドプロセスの改善のみを目的としています。
![画像](https://habrastorage.org/getpro/habr/post_images/544/a44/4fd/544a444fd755f1d416db71f86addc64d.png)
フローは、外部ライブラリまたはツールに依存しません。 これには、Flash Develop用のテンプレート、プロジェクト管理用のSublime Text用のプラグイン、およびコード補完(コード補完)のサポートが含まれています。
snõw
![画像](https://habrastorage.org/getpro/habr/post_images/a7a/29e/4fb/a7a29e4fbec6e606b03c8c529caa458d.png)
フローを使用する最初の主要なライブラリは雪です。 独自のゲームエンジンを作成するには、軽量でコンパクトなポータブルネイティブフレームワークが必要だったため、雪を作成しました。 最初に、NMEのネイティブ部分(Haxeのクロスプラットフォームライブラリであるネイティブメディアエンジン)の小さなラッパーを作成しました。これはライム(NMEから開発された別のライブラリであるOpenFLの一部となったライトメディアエンジン)と呼ばれます。 しかし、依存関係のない完全に軽量なフレームワークが引き続き必要でした。 したがって、最終的には、NMEやライムから完全に独立して、ゼロから雪を作成しました。
簡単なsnowアプリケーションの例:
![画像](https://habrastorage.org/getpro/habr/post_images/507/c74/153/507c741537a09d3658fa24bec748a555.png)
snowは、Mac、Windows、Linux、Android、iOS、およびWebGLのプラットフォームでオーディオサブシステム、入出力システム、ウィンドウ管理、OpenGLへのアクセスを提供する非常に低レベルのフレームワークです。 ネイティブプラットフォームでは、snowを使用すると、マルチウィンドウアプリケーションを作成したり、HaxeからOpenALに直接アクセスしたりできます。 snowは、ウィンドウなし(ヘッドレス)、メッセージ処理サイクルの有無に関係なく起動できます。これにより、ファイルの変更に関するOSからの通知を受け取ることができ、ファイルのドラッグアンドドロップイベントをサポートし、すべてのネイティブプラットフォームでSDLのフルパワーにアクセスできます。
snowは、ポータブルで柔軟性の高いフレームワークです。
ぜいたく
![画像](https://habrastorage.org/getpro/habr/post_images/c5d/c8b/2c6/c5dc8b2c612aa46590c3be8ef242ae5d.png)
次のライブラリ-luxe-は雪と流れを使用します。 luxeは、Mac、Windows、Linux、Android、iOS、およびWebGL用のアプリケーションとゲームをすばやく作成するためのクロスプラットフォームゲームエンジンです。
「一度書く-どこでも公開する」アプローチとボトムアップアプローチを使用すると、luxeは非常にシンプルな高レベルエンジンですが、非常に深いところを掘り下げることに慣れている場合は機能しません。
luxeは、その構造をニーズに合わせて調整するように設計されています。 これは、ゲームやアプリケーションを作成するためのツールボックスまたは広範なビルディングブロックのようなものです。 それは明確な構造を持たず、あなたがそれを使用することを義務付けられていない、と考えられます。
きちんとしたAPIと豪華なツールの大規模なスイートを使用すると、特定のゲーム用のライブラリとモジュールを作成するための出発点になります。 luxeには、ステートマシン、イベントシステム、衝突処理、タイルマップのサポートなどが含まれており、さらに、レンダリング用の柔軟なシェーダーエンジンに基づいています。
![画像](https://habrastorage.org/getpro/habr/post_images/6fb/f27/736/6fbf277361038a00b61b5c82035a56d7.png)
以下は、luxeの機能を示す短いビデオです。
追加情報
snowkit Webサイトの対応するセクションで、各ライブラリのドキュメントとマニュアルを見つけることができます。
雪、流れ、豪華さに関するタイムリーな情報を受け取りたい場合は、 サイトのハッシュタグまたはRSSフィードを購読することもお勧めします。
次は何ですか
私と他のコミュニティが話したいと思う多くの印象的なことがあります。 コミュニティとしてできることを楽しみにしています。
歴史の簡単な概要と、スノーキットを作成した理由( 翻訳 )を書きました 。