Какую библиотеку Box2D JavaScript я должен использовать? [закрытый]
есть несколько различных портов Box2D для JavaScript. Какой из них самый лучший?
Box2DJS- "преобразовано из Box2DFlashAS3_1.4.3.1 в автоматическом режиме"
Box2Dflash 2.0 портирован на JavaScript- "один большой неприятный хак, который просто работает"
box2dweb - "порту Box2DFlash 2.1 A для JavaScript. Я разработал ActionScript 3-в-JavaScript конвертер для генерации кода"
HBehrens/box2d.js - " JavaScript версия Box2D 2.1 a "(добавлено 21 ноября 2011 г.)
kripken/box2d.js- " прямой порт физического движка Box2D 2D на JavaScript, используя Emscripten "(добавлено 24 сентября 2013 г.)
любые идеи, которые версия http://chrome.angrybirds.com/ использует, если таковые имеются?
6 ответов:
Примечание Для читателей!
этот вопрос был первоначально задан и ответил в 2011 году, но я сделаю все возможное, чтобы держать его в курсе!
вот что я нашел:
- kripken/box2d.js это порт Box2D с помощью Emscripten и работает хорошо и быстро. Я использовал это лично с большим успехом.
- Планк.js самый новый порт и написано с нуля в JavaScript
- Box2DJS-это порт Box2DFlash 1.4.3.1. box2dweb-это порт версии 2.1 a.
- Box2DJS работает "как модуль CommonJS без каких-либо изменений вообще" [1]
- Box2DJS "не в курсе, и вы должны импортировать большое количество файлов JavaScript в каждом проекте"[2]
- box2dweb содержится в одном файле [2]
- box2dweb это "много новый порт и имеет гораздо меньше проблем", чем Box2DJS [3]. Однако переключение может привести к новым проблемам [4].
- Box2DJS зависит от прототипа, но box2dweb не [5]
- сет Лэдд продвинул box2dweb с примерами в своем блоге [6]
- кажется, никто не использует третью альтернативу.
- есть также физические симуляторы не на основе Box2D. Проверить вопрос.js и p2.js
там же аналогичное обсуждение gamedev.stackexchange.com.
Я бы сказал, что победитель kripken/box2d.js.
этот вопрос и его лучший ответ с 2011 года. Одним из последних новых вариантов является box2.js, перевод Emscripten кода C++ на Javascript. По состоянию на август 2013 года он более актуален, чем другие порты, которые я нашел, и демо-версии, похоже, работают.
LiquidFun (с привязками JS)
LiquidFun-это, в то время как я публикую это, самый последний порт для JS. Он имеет все особенности Box2D и особенности физики жидкости. Он портирован с помощью emscripten, поэтому производительность приличная.
google / liquidfun / tree / master / liquidfun / Box2D / lfjs
вероятно, лучшим местом для обновления портов Box2D JavaScript является официальный форум:http://box2d.org/forum/viewforum.php?f=22
JSBox2D похоже, хорошее начало.
Я бы обязательно заглянул в вопрос.js, который, кажется, очень хорошо построен и очень быстро. Я иду по этому пути. http://brm.io/matter-js
Box2d-html5 также является еще одним портом box2d, включая Google LiquidFun) и активное обновление.
- https://code.google.com/p/box2d-html5/
- теперь поддерживается на github:https://github.com/flyover/box2d.js
Box2DWeb поддерживает большую часть API из исходного C++ Box2D за исключением цепных форм. :/
Это наиболее широко используемый Javascript Box2D. Если вам нужна документация API для Box2DWeb, проверьте Box2DFlash. http://www.box2dflash.org/docs/2.1a/reference/
Box2DWeb автоматически генерируется из Box2DFlash с помощью компилятора. Таким образом, API-это то же самое.
Я сомневаюсь, что Box2DWeb получит какое-либо обновление в будущем, поскольку Box2DFlash не показал деятельности больше нет. Вы можете увидеть рациональное мнение автора о том, почему он решил не писать прямой порт Box2D --> Box2DWeb.