planck - 我應該使用哪個Box2D JavaScript庫?




planck js (4)

用於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/使用的版本,如果有的話?

https://code.i-harness.com


給讀者的提示!

這個問題最初是在2011年提出並回答的,但我會盡我所能保持最新!

這是我發現的:

  • kripken/box2d.js是Box2D使用Emscripten的一個端口,運行良好且速度很快。 我個人使用這個很成功。
  • planck.js是最新的端口,並且是從JavaScript開始編寫的
  • Box2DJS是Box2DFlash 1.4.3.1的一個端口。 box2dweb是2.1a版的一個端口。
  • Box2DJS作為一個CommonJS模塊“沒有任何修改” [1]
  • Box2DJS“不是最新的,你必須在每個項目中導入大量的JavaScript文件” box2dweb
  • box2dweb包含在單個文件中box2dweb
  • 與Box2DJS [3]相比,box2dweb是“一個更新的端口並且有更少的問題”。 然而,轉換可能會引入新的問題[4]
  • Box2DJS取決於Prototype,但box2dweb不支持[5]
  • Seth Ladd在他的博客上用例子推廣了box2dweb [6]
  • 似乎沒有人使用第三種方法。
  • 還有基於Box2D的物理模擬器。 檢查Matter.jsp2.js

[3][3]

我會說贏家是kripken / 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端口。

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







box2d