まず、長文失礼しました。haxe と、直面している問題を解決するツールとしての haxe の適合性について、いくつか質問してきました。私のhaxeに関する知識は非常に限られていますが、私のプロジェクトでのhaxeの理想的な役割は、haxeの通常の使用ではありません。だから私が避けようとしているのは、この言語を学習していない時間を無駄にすることです (それは本当に楽しくて強力に見えますが) 目的に合わないことがわかるだけです. ですから、それが目的に合っているかどうかについて、ベテランの獣医からアドバイスをもらいたいと思っています. そうであることを心から願っています。
これが私が達成しようとしていることです:
私はゲーム業界で働いており、C++ と JS の両方でゲームを作成する必要があります。組み込みシステム用の C++ と、オンラインおよびモバイル用の JS。私は C++ と JS の両方の経験が豊富です。
私が開発したゲームは一度だけ書きたいです。これで、C++ から JS に移行するために emscripten のようなものを使用できますが、これによりコンパイルされた JS コードが作成され、Chrome 開発ツールで簡単にデバッグできなくなります。元の C++ に簡単に戻ることができない、コンパイル済みの JS でエッジ ケースのバグに遭遇することがわかっています。さらに、ゲームの一部のプラットフォームでは、コンパイルされた JS の問題となるソース コードを表示するために公平性研究所が必要になります。
私が本当に必要としているのは、ネイティブで人間が読める C++ および JS コードを生成するソース ツー ソース コンパイラであり、必要に応じてネイティブ形式で作業および変更できるため、Haxe になります。C++ および JS 用に haxe によって生成されたコードを見てきました。JS は完全に理解しやすく、操作しやすいように見えます。C++ はそれほど多くはありませんが、それでもほぼ許容範囲です。haxe が不要な C++ をコンパイルしてリンクするのを止めることさえできます。ソースコードだけ欲しい。
ここまでは順調ですね。
これで、oxygine 2d エンジンを使用する C++ のゲーム フレームワークができました。スプライトなどを表示できるだけでなく、メッセージ バスと有限ステート マシン用に作成したフレームワークも表示できます (より便利なクラスもロードされます)。また、2d エンジンに Pixijs を使用し、C++ エンジンと同様に独自のメッセージ バスなどを使用する JS にも同様のフレームワークがあります。
今、私ができるようにしたいのは、Haxe でモジュールを作成することです。C++ と JS の両方にトランスパイルすると、そのコードをフレームワークの一部として含めて、その尊敬される言語エンジンで動作させることができます。haxe で作成する各オブジェクトは非常にカプセル化され、メッセージ バスにサブスクライブし、メッセージを処理し、メッセージを送り返すだけで済みます。エンジン ステート マシンの使用方法を知る必要がある場合もあります。したがって、メッセージ バス (他のオブジェクトと一緒に) は haxe で記述されず、ネイティブ プロジェクトでトランスパイルおよびビルドされた後にモジュールに提供されるため、これが haxe でも可能かどうかはわかりません。2 つのゲーム エンジンの構文を認識し、ターゲット言語に応じてトランスパイルできる、独自の haxe ライブラリを作成できるのではないでしょうか? それが可能かどうかはわかりません。
時間を割いて読んでいただき、ありがとうございます。アドバイスをお願いします。