我应该使用哪个Box2D JavaScript库?

用于JavaScript的Box2D有几个不同的端口。 哪一个是最好的?

  • Box2DJS – “以自动方式从Box2DFlashAS3_1.4.3.1转换”

  • Box2Dflash 2.0移植到JavaScript – “一个很大的讨厌的黑客刚刚工作”

  • box2dweb – “Box2DFlash 2.1a到JavaScript的一个端口。我开发了一个ActionScript 3到JavaScript转换器来生成代码”

  • HBehrens / box2d.js – “Box2D 2.1a的JavaScript版本”(2011年11月21日新增)

  • kripken / box2d.js – “使用Emscripten的Box2D 2D物理引擎到JavaScript的直接端口”(2013年9月24日新增)

任何版本http://chrome.angrybirds.com/使用的任何想法,如果有的话?

给读者的提示!

这个问题最初是在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]
  • 与Box2DJS [3]相比,box2dweb是“一个更新的端口,问题less得多”。 但是,转换可能会引入新的问题[4] 。
  • Box2DJS取决于原型,但box2dweb不[5]
  • Seth Ladd在他的博客上用例子推广了box2dweb [6]
  • 似乎没有人使用第三种方法。
  • 还有基于Box2D的物理模拟器。 检查Matter.js和p2.js

gamedev.stackexchange.com也有类似的讨论 。

我会说赢家是kripken / box2d.js。

这个问题和它的最佳答案是从2011年开始的。最近的一个新的select是box2.js ,这是C ++代码到Javascript的Emscripten翻译。 截至2013年8月,它比我发现的其他港口更新,演示似乎工作。

LiquidFun(带有JS绑定)

LiquidFun是在我发布这个时候,最近的端口到JS。 它具有Box2D的所有function和液体物理特性。 它使用emscripten移植,所以性能很不错。

谷歌/ liquidfun

谷歌/ liquidfun /树/主/ liquidfun / Box2D的/ lfjs

与Box2D JavaScript端口保持同步的最佳位置可能是官方论坛: http : //box2d.org/forum/viewforum.php?f=22

JSBox2D看起来是一个很好的开始。

我肯定会看看Matter.js ,看起来非常好,很快。 我正在走这条路。 http://brm.io/matter-js

Box2d-html5也是另一个box2d端口,包括谷歌的LiquidFun )和主动更新。

Box2DWeb支持原始C ++ Box2D的大部分API,但链形状除外。 :/

这是最广泛使用的Javascript Box2D。 如果您需要Box2DWeb的API文档,请查看Box2DFlash。 http://www.box2dflash.org/docs/2.1a/reference/

Box2DWeb是使用编译器从Box2DFlash自动生成的。 所以API是一样的。

我怀疑Box2DFlash将在未来得到任何更新,因为Box2DFlash已经不再显示任何活动。 你可以看到作者的理性为什么他决定不写一个直接的Box2D – > Box2DWeb端口。

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

Interesting Posts