我应该使用哪个Box2D JavaScript库?

a p*_*erd 87 javascript box2d

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

  • 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/使用的想法,如果有的话?

a p*_*erd 81

读者注意!

这个问题最初是在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依赖于Prototype但box2dweb不依赖[5]
  • Seth Ladd在他的博客上推出了box2dweb示例[6]
  • 似乎没有人使用第三种替代方案.
  • 还有一些基于Box2D的物理模拟器.查看Matter.jsp2.js

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

我会说获胜者是kripken/box2d.js.

  • @aPaidNerd这还是最新的吗? (2认同)
  • 最近出现了一个名为planck的新的Box2d移植的JS物理引擎,请查看:https://github.com/shakiba/planck.js (2认同)

Nel*_*son 12

这个问题及其最佳答案来自2011年.最近的一个新选项是box2.js,这是C++代码到Javascript的Emscripten翻译.截至2013年8月,它比我发现的其他端口更新,并且演示似乎有效.


Dyl*_*ann 8

LiquidFun(带JS绑定)

在我发布这篇文章时,LiquidFun是JS的最新端口.它具有Box2D和液体物理特性的所有功能.它是使用emscripten移植的,所以性能很不错.

谷歌/ liquidfun

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


zoo*_*src 6

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

JSBox2D看起来是一个好的开始.

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