2011-08-01 16 views
4

私はブラウザベースのゲームatmで既に作業していますが、Webブラウザでの再生が適切でないコンソールやデバイスなどの他のプラットフォームに移植するオプションを探しています。C++に埋め込むためのHTML5 Canvasの実装はありますか?

ゲームは2DキャンバスのコンテキストでレンダリングされたJavaScriptがほとんどすべてです。

何私が望んでいたことはJavaScriptでキャンバスのコールを処理し、

は誰もいopenglのか、似たようでそれらをレンダリングするために多分GoogleのV8エンジンと連携して動作するC++ライブラリ/ APIがすでに存在することですこの機能を提供しているかもしれないプロジェクトを知っていますか?

そうでなければ、プラットフォーム間であまりにも多くの違いを維持したくないので、できるだけjavascriptに必要な少しの変更を加えて、私のjavascriptをC++に組み込むとどうでしょうか?

+2

Qtは合理的な解決策です(Webkitを含む) – 6502

+0

[fluff](https://github.com/BonsaiDen/Fluff.js)はopenglとv8のスタートです。しかし、公開されているAPIはキャンバスAPIではないので、独自のjsレベルのプロキシを書く必要があります – Raynos

+0

これらの両方が非常に興味深いです。Qtはかなり良く見えますが、Webkitのようなものを埋め込むことは考えられませんでしたキャンバスAPIをC++で直接実装していますが、答えがQtの回答を追加したい場合は、 – Tristan

答えて

4

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

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

Qtは現在V8を使用していませんが、移植は進行中であり、100%後方互換性のあるソリューションを提供することを目指しています。それは、フレームワーク、ライブラリではないのです

  • 巨大

    • :Qtのの

      のみ "の問題が" とIMOです。 Qtを簡単に「使用」するだけでは、ビューを受け入れるべきではありません(ドキュメンテーションは優れた品質です)。

    • 長期的見通しが(カントー、数ヶ月前ほど悪くない)少しあいまいです
  • +1

    私はゲーム開発にQTを使用することをお勧めしませんが、私はどこかで読んでいて、それは非常に適していないと読んでいます - そして、あなたがゲームを作るときに、しかし、一方で、ブラウザから行くと、これはどんなdiffernetを感じるかもしれません。 – Frank

    0

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

    1

    私はここに少し遅れだけど、私は同様のソリューションを探していますね。私はnode-canvasを見つけました。それがフックすることが可能かどうかわからないので、SDLまたはSFML-managedウィンドウのようにレンダリングされます。

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

    関連する問題