22

Haxe / OpenFL / Flixel のサイトを見てきましたが、それぞれの目的を理解するのに苦労しています。

私が理解しているように:

Haxe は、複数のプラットフォームにデプロイできる言語です。OpenFL は Flash と関係があります。Flixel は、ゲームを作成するためのライブラリです。

誰かが私を修正したり、より明確にしたりできますか。

4

2 に答える 2

54

ハクセ

haxe.orgから引用するには:

Haxe は、最新の高レベルで厳密に型指定されたプログラミング言語、クロスコンパイラ、完全なクロスプラットフォーム標準ライブラリ、および各プラットフォームのネイティブ機能にアクセスする方法に基づくオープン ソース ツールキットです。

言語:

Haxe はプログラミング言語です。AS3 や C# などに似ています。厳密に型指定されていますが、優れた型推論があります。パターン マッチング列挙型 (ADT)マクロなどの多くの強力な機能があります。これらは、コンパイルするターゲットに関係なく機能します。

標準ライブラリ:

  • Haxe は、JavaScript、C++、Flash、Java、C#、PHP、NekoHashLink、Python、および Lua にコンパイルできます。、、、、などのプラットフォーム間で一貫して機能する低レベルの標準クラスがあります。また、シリアライゼーション、、、フォーマットなどString役立つIntクロスプラットフォームコードFloatもいくつかあります。DateMapXmlJsonDate

  • 原則として、api.haxe.orgのトップ レベルまたはhaxeパッケージ内にあるものは、コンパイルするターゲットに関係なく機能します。

  • 各ターゲットには独自のパッケージがあります。これらにより、 externsを介してそのターゲットのネイティブ機能にアクセスできます。例えば。js.htmlDOM externs、flashFlash API の externs などがあります。

  • sys「バックエンド」ターゲットで利用可能なパッケージがあります: C++、Java、Neko、HashLink、PHP、Python、Lua 。hxnodejsライブラリを使用して JavaScript/Node でも利用できます。

他のもの:

Haxe コンパイラは、他の多くのコンパイラと比較して非常に高速です。それ自体がセールスポイントです。マクロもあり、非常に強力な方法で一連の前処理を行うことができます。次に、サードパーティのライブラリとリンクできる Haxelib などのツールがあります。

OpenFL

Haxe が最初に開始されたとき、Flash は依然として大きなターゲットであり、どこにでもインストールされ、ゲームを作成するのに最適でした。多くの Flash 開発者は、Haxe が高速で、タイプ セーフで、オープン ソースであり、より多くの機能を提供しているため、Haxe を気に入っています。しかし、Flash API (スプライト、グラフィックス、ムービー クリップ、イベント) は Flash でのみ動作し、モバイルや HTML5 などでは動作しませんでした。これは、Flash の人気が低下し始めると問題になりました。

OpenFL が行うことは、その Flash API が他の Haxe ターゲットで動作するようにすることです。つまり、スプライトとグラフィックス、および Flash スタイルのコードを使用して、Flash API をターゲットとする Haxe ゲームを作成しました。次に、C++ にコンパイルします (モバイルなどをターゲットにするため)。OpenFL を使用すると、C++ または JavaScript を対象としている場合でも、Haxe コードで Flash API を使用できます。たとえば、OpenFL は、flash.graphics.DisplayObjectフラッシュだけでなく、C++ および JavaScript 用のクラスを作成します。したがって、Flash ゲームの作成方法を知っている場合は、OpenFL ゲームの作成にすでに近づいています。

OpenFL には、ゲームを特定のプラットフォームに展開しやすくするための優れたツールもいくつかあります。Haxe のターゲットは「JS」、「SWF」、「C++」などであり、OpenFL プラットフォームは「iOS」、「Android」、「Switch」、「HTML5」、「Windows EXE」などです。Haxe について聞くと、モバイルをターゲットにする場合、多くの場合 OpenFL です。Haxe と連携してコードを (C++、JS、SWF などに) コンパイルし、それらのバイナリをモバイル用にパッケージ化するためです。

フリクセル

Haxe は、言語、コンパイラ、および標準ライブラリです。
OpenFL はこれに基づいて構築され、ターゲット間で動作する Flash API を追加します。
HaxeFlixel はこれをさらに発展させ、OpenFL で動作するゲーム固有の API を提供します。

すべてがどのように連携するかの例:

  • あなたはゲームを作ります。すべてHaxeで書かれています。プレイヤー名、スコア、完了情報などはすべて、標準ライブラリのデータ構造を使用します。それらはゲームで動作しますが、PHP Web サイトで動作させることもできます。

  • ゲームは OpenFL を使用して、Flash、HTML5、iOS、および Android にコンパイルします。OpenFL の一部として、Stage や Buttons、MouseEvents など、メニュー画面に使用できる標準の Flash API クラスにもアクセスできます。OpenFL は他のターゲット用の flash.* クラスを提供するため、アプリはさまざまなものにコンパイルされます。

  • 実際のゲームでは、パフォーマンスが重要であり、フラッシュ DisplayList アプローチは少し遅く、ゲーム用に最適化されていません。HaxeFlixel はゲーム用に最適化されており、非常に高速です。そのため、HaxeFlixel の API を使用してゲームを設計します。

概要

Haxe は、言語、コンパイラ、ツールキット、および標準ライブラリです。クロスプラットフォーム コード用の最も基本的なツールを提供します。

OpenFL は Haxe 上に構築され、Flash API を複数のターゲット (Flash、C++、JavaScript) に提供し、Web、ネイティブ、iOS、Android、Nintendo Switch などの多数のプラットフォームへのコンパイルを容易にします。

HaxeFlixel は OpenFL 上に構築されています。OpenFL が提供する API を使用して、高性能で 2D ゲームを簡単に作成できるゲーム固有のフレームワークを作成します。

于 2013-12-21T01:31:48.017 に答える