26

私は新しいFlashゲームプロジェクトの計画段階にあり、どの言語を使用するのが良いか疑問に思っていましたか?私はすでにActionscript3を十分に理解しており、Haxeをまだ使用していませんが、言語リファレンスドキュメントを読んだことがあり、Haxeには他のお気に入りの言語であるC#とRubyの機能がいくつかあるようです。

したがって、私の質問には2つの部分があります。

1)Haxeはフラッシュコンポーネント(swcフ​​ァイル)と相互運用できますか?たとえば、Flash IDEを使用していくつかのコントロールをスキンする場合、それらのコントロールをインポートしてHaxeで使用できますか?

2)Haxeコンパイラにパフォーマンス上の利点はありますか?または何か落とし穴?

4

5 に答える 5

14

1) はい、いいえ。2.03 の時点で、Haxe は SWC をエクスポートできます。これは、Haxe でコードを記述し、SWC にコンパイルして、その SWC を Flash で利用できることを意味します。現在、Haxe は SWC の入力をサポートしておらず、出力のみをサポートしています (ただし、Haxe はこれに取り組んでいると思います)。

2) はい、Haxe を使用することには利点があります。Adobe のコンパイラとは異なり、Haxe はコンパイル中に実際にいくつかの最適化を行います (これはしばらくの間、コミュニティでの主要な論争の骨子でした)。さらに、Haxe は、現在 Flash も Flex も使用していない、Flash Player 10 で導入されたいくつかの「隠された」新しいバイトコードを使用します。

私が知っている唯一の「落とし穴」は、それが奇妙な ActionScript のようなものだということです。そうは言っても、ジェネリックやより高速なコードなどの機能を使用すると、わずかな代償を払うことができます!

于 2009-06-25T18:32:46.560 に答える
7

lib.haxe.orgで多くの役立つ情報を見つけることができます... (その点については haxelib をチェックしてください (ルビーの宝石に少し似ていると言う人もいます)) ... AS3 から Haxe へのコンバーターもあります ... そうかもしれませんcorelib の関連部分を Haxe に翻訳してみてください ... 手動での修正が必要になると思います ... コントロールに関しては、Haxe の GUI ライブラリをチェックしてください ... それらのいくつかは Web に出回っています...

Haxe の長所: Haxe の良い点は、コンパイラがはるかに高速であるため、コンパイルに多くの時間を費やさないことです...真剣に、それは違いを生みます...

また、ブランデンがすでに暗黙のうちに述べているように、Haxeははるかにリッチな言語です...追加したいのですが、enumを実際にチェックする必要があります...

それでも、Haxe の最も優れた点は、私がサーバーを作成するときに、同じ言語を使用できることです。さらに、Haxe のリモーティングなどにより、作業が非常に簡単になります。

AS3 の長所はいくつかありますが、そのほとんどは、AS3 の場合と同じように Haxe で問題を解決しようとすると、言語が風変わりに見え、実行時に予期しない動作を示すという事実に関連しているだけです...厳格でタイプされたままであれば、すべてが完璧になります...

それが役立つことを願っています...;)

あいさつ

back2dos

于 2009-06-26T19:51:48.610 に答える
2

今日のHaxeの新しいリリース。C++の公式ターゲットを追加します。

これで、同じソースでActionScriptとC++をターゲットにできます。

于 2009-07-27T01:07:21.803 に答える
2

NME は、Haxe のクロスプラットフォーム サポートを改善して、Windows、Mac、Linux、Android、iOS、webOS、Flash、および HTML5 アプリケーションに手間をかけずに単一の API を提供します。

Haxe コンパイラは、FlashDevelop などの Flex コンパイラ シェルをホストする IDE ではなく、Flash IDE からコンパイルすることに慣れている場合は特に、MXMLC よりも著しく高速です。前述のように、反復子、typedef、構造体、マクロ、その他の便利な機能など、多くの言語機能が追加されています。

素晴らしい点は、いつでも Flash をターゲットにできるため、リスクがほとんどないことです。Haxe 言語は非常によく似ており、単一のプラットフォームをサポートすることを気にしない場合は、Flash でサポートされているすべての機能を対象にすることができます。ただし、NME のクロスプラットフォーム API を使い続けることで、モバイルおよびデスクトップ プラットフォームのパフォーマンスと機能の大幅なメリットを体験したり、HTML5 サポートを試すことができます。

最後に、C++ から SWF コンテンツにアクセスできるようにする SWF ライブラリがあります。もちろん、これは常に Flash ターゲットで可能でしたが、まもなく Flash IDE でインターフェイスを定義し、これをモバイルまたはデスクトップ C++ アプリケーションや Flash/AIR ターゲットで使用できるようになるはずです。

于 2012-02-07T05:53:13.777 に答える
1

1) コンパイラ引数を使用してコンパイル中に (swc の代わりに) 1 つの swf ライブラリを含めることができます。複数のライブラリ-swf-libが必要な場合は、swfmillツールを使用して複数をマージできます。Haxe docsにこの例があります。

2) Branden はこれに完全に答えました :) 特にフラッシュ アプリケーションでパフォーマンスを向上させる 1 つの機能を追加するかもしれませんが、「インライン化」です。Nicolas (Haxe の作成者)がインライン関数にバイトコードの最適化をさらに追加したためです。また、さらに多くの最適化が計画されています。

于 2009-08-22T11:46:11.367 に答える