我应该使用哪个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 )和主动更新。
- https://code.google.com/p/box2d-html5/
- 现在维护在github: https : //github.com/flyover/box2d.js
Box2DWeb支持原始C ++ Box2D的大部分API,但链形状除外。 :/
这是最广泛使用的Javascript Box2D。 如果您需要Box2DWeb的API文档,请查看Box2DFlash。 http://www.box2dflash.org/docs/2.1a/reference/
Box2DWeb是使用编译器从Box2DFlash自动生成的。 所以API是一样的。
我怀疑Box2DFlash将在未来得到任何更新,因为Box2DFlash已经不再显示任何活动。 你可以看到作者的理性为什么他决定不写一个直接的Box2D – > Box2DWeb端口。