web-dev-qa-db-ja.com

どのBox2D JavaScriptライブラリを使用する必要がありますか?

JavaScriptには Box2D の異なるポートがいくつかあります。どれが最高ですか?

  • Box2DJS-「自動的にBox2DFlashAS3_1.4.3.1から変換」

  • JavaScriptに移植されたBox2Dflash 2.-「たまたま動作する大きな厄介なハック」

  • box2dweb-「Box2DFlash 2.1aからJavaScriptへのポート。ActionScript3からJavaScriptへのコンバーターを開発しました。コード"

  • HBehrens/box2d.js-「JavaScriptバージョンのBox2D 2.1a」(2011年11月21日追加)

  • kripken/box2d.js-「Emscriptenを使用したJavaScriptへのBox2D 2D物理エンジンの直接ポート」(9月追加24、2013)

バージョン http://chrome.angrybirds.com/ が使用しているアイデア(ある場合)

85
a paid nerd

読者への注意!

この質問はもともと2011年に質問され回答されたものですが、私はそれを最新に保つために最善を尽くします!

私が見つけたものは次のとおりです。

  • kripken/box2d.js は、Emscriptenを使用したBox2Dのポートであり、適切に動作し、高速です。私はこれを個人的に大成功で使用しました。
  • planck.js は最新のポートであり、JavaScriptでゼロから記述されています
  • Box2DJSは、Box2DFlash 1.4.3.1のポートです。 box2dwebはバージョン2.1aのポートです。
  • Box2DJSは「まったく変更を加えずにCommonJSモジュールとして」動作します [1]
  • Box2DJS「最新ではないため、すべてのプロジェクトで大量のJavaScriptファイルをインポートする必要があります」 [2]
  • box2dwebは単一のファイルに含まれています [2]
  • box2dwebは、Box2DJS [3] よりも「はるかに新しいポートであり、問​​題がはるかに少ない」です。ただし、切り替えにより新しい問題が発生する可能性があります [4]
  • Box2DJSはプロトタイプに依存していますが、box2dwebはそうではありません [5]
  • セス・ラッドは、彼のブログで例を使ってbox2dwebを宣伝しました [6]
  • 3番目の選択肢を使用している人はいないようです。
  • Box2Dに基づいた物理シミュレータnotもあります。 Matter.js および p2.js を確認してください

gamedev.stackexchange.comでの同様の議論 もあります。

勝者はkripken/box2d.jsだと思います。

78
a paid nerd

この質問とその最良の回答は2011年のものです。最近の新しいオプションの1つは、C++コードからJavascriptへのEmscripten変換 box2.js です。 2013年8月現在、私が見つけた他のポートよりも最新であり、デモは機能しているようです。

12
Nelson

LiquidFun(JSバインディングを使用)

LiquidFunは、私がこれを投稿している時点では、JSへの最新のポートです。 Box2Dのすべての機能と液体物理機能を備えています。 emscriptenを使用して移植されているため、パフォーマンスはまともです。

google/liquidfun

google/liquidfun/tree/master/liquidfun/Box2D/lfjs

7
DylanVann

おそらく、Box2D JavaScriptポートを最新の状態に保つのに最適な場所は、公式フォーラムです。 http://box2d.org/forum/viewforum.php?f=22

JSBox2Dは良いスタートのようです。

私は間違いなくMatter.jsに目を通すでしょう。私はこの道を進んでいます。 http://brm.io/matter-js

6
zoosrc

Box2d-html5 は、Googleの LiquidFun )とアクティブな更新を含む別のbox2dポートでもあります。

3
cuixiping

Box2DWebは、チェーンシェイプを除き、元のC++ Box2DのAPIのほとんどをサポートしています。 :/

最も広く使用されているJavascript Box2Dです。 Box2DWebのAPIドキュメントが必要な場合は、Box2DFlashをご覧ください。 http://www.box2dflash.org/docs/2.1a/reference/

Box2DWebは、コンパイラを使用してBox2DFlashから自動生成されます。したがって、APIは同じです。

Box2DFlashがアクティビティを表示しなくなったため、Box2DWebが今後更新されることはないでしょう。著者が直接Box2D-> Box2DWebポートを記述しないことにした理由に関する著者の合理性を見ることができます。

https://code.google.com/p/box2dweb/wiki/Roadmap

0
Vennsoh