4

私はブラウザベースのゲームATMに取り組んでおり、Webブラウザでのプレイが適切でない可能性があるコンソールやデバイスなどの他のプラットフォームに移植するオプションをすでに検討しています。

ゲームはほとんどすべてJavaScriptであり、レンダリングは2Dキャンバスコンテキストを介して行われます。

私が望んでいたのは、JavaScriptでキャンバス呼び出しを処理してopenglなどでレンダリングするためにおそらくgoogleのv8エンジンと連携して動作するc++ライブラリ/APIがすでに存在することです

この機能を提供している可能性のあるプロジェクトを知っている人はいますか?

それ以外の場合、プラットフォーム間であまり多くの違いを維持する必要がないので、JavaScriptに必要な変更をできるだけ少なくしてJavaScriptをC++に埋め込むとどう思いますか?

4

4 に答える 4

4

Qtは、LGPLライセンスと互換性のある非常に優れたC ++ライブラリであり、特にjavascriptをサポートするWebkitベースのウィジェットが含まれています。また、スクリプト言語として、QtはC ++と緊密に統合されたjavascriptを使用します(C ++クラスを記述し、それをjavascriptレベルで表示するのは簡単です)。

Qtはマルチプラットフォームであり、高度に洗練されたIDEが付属しています。

Qtは現在V8を使用していませんが、移植は進行中であり、100%下位互換性のあるソリューションを提供することを目指しています。

Qtの唯一の「問題」はIMOです。

  • 巨大です
  • これはフレームワークであり、ライブラリではありません。Qtを簡単に「使用」することはできません。ビューを採用する必要があります(ただし、ドキュメントは優れた品質です)。
  • 長期的な見通しは少し曖昧です(数ヶ月前ほど悪くはありませんが)
于 2011-08-11T05:50:51.760 に答える
3

私はここで少し遅れていると思いますが、私は同様の解決策を探しています。node-canvasを見つけましたが、それをフックしてSDLSFMLで管理されたウィンドウのようなものにレンダリングできるかどうかわかりません。

しかし、私自身の目的のために、コードをC ++に移植し、SFMLとOpenGLでCairoを直接使用します。

于 2012-06-28T21:28:35.310 に答える
0

興味深いアイデア-もう1つの可能性は、Adobe Airを使用し、StageWebViewとFlex 4を介してゲームをレンダリングすることです。興味がある場合は、これを使用するためのサンプルコードを次に示します。

https://github.com/JustinBeckwith/frink/blob/master/frink-flex/src/controls/WebBrowser.as

于 2011-08-01T16:39:54.487 に答える
0

私が持っている興味深いプロジェクトは、id FireBreath(firebreath.org)を使用しています。これはあなたが探しているものとは正確には異なりますが、いくつかの点であなたを近づけるでしょう。Firebreathを使用すると、C++でブラウザプラグインを作成できます。Firebreathの機能の1つは、ブラウザプラグインのC ++からDOMにアクセスして変更したり、ページのJavaScriptからアクセスできるC++のメソッドやプロパティを作成したりできることです。

于 2011-08-01T16:53:15.493 に答える