Jakiej biblioteki JavaScript Box2D powinienem użyć? [zamknięte]

Istnieje kilka różnych portów Box2D dla JavaScript. Który jest najlepszy?

  • Box2DJS - "konwersja z Box2DFlashAS3_1. 4. 3. 1 w sposób automatyczny"

  • Box2Dflash 2.0 przeniesiony do JavaScript - "jeden wielki paskudny hack, który po prostu DZIAŁA"

  • Box2dweb - "port Box2DFlash 2.1 A do JavaScript. Opracowałem konwerter ActionScript 3-to-JavaScript do generowania kod "

  • HBehrens/box2d.js - "A JavaScript Version of Box2D 2.1 A" (Added Nov 21, 2011)

  • Kripken/box2d.js - "bezpośredni port silnika fizyki Box2D 2D do JavaScript, przy użyciu Emscripten" (Dodano Sep 24, 2013)

Wszelkie pomysły która wersja http://chrome.angrybirds.com / używa, jeśli w ogóle?

Author: a paid nerd, 2011-10-02

6 answers

Uwaga dla czytelników!

To pytanie zostało pierwotnie zadane i udzielone w 2011 roku, ale postaram się być na bieżąco!

Oto co znalazłem:

  • kripken/box2d.js jest portem Box2D używającym Emscripten i działa dobrze i jest szybki. Wykorzystałem to osobiście z wielkim sukcesem.
  • planck.js jest najnowszym portem i jest napisany od podstaw w JavaScript
  • Box2DJS jest port Box2DFlash 1.4.3.1. box2dweb jest portem wersji 2.1 a.
  • Box2DJS działa "jako wspólny moduł js bez żadnych modyfikacji" [1]
  • Box2DJS "Nieaktualny i musisz zaimportować dużą ilość plików JavaScript do każdego projektu" [2]
  • box2dweb jest zawarty w jednym pliku [2]
  • box2dweb jest "dużo nowszym portem i ma dużo mniej problemów" niż Box2DJS [3]. Zmiana może jednak wprowadzić nowe zagadnienia [4].
  • Box2DJS zależy od prototypu, ale box2dweb Nie [5]
  • Seth Ladd wypromował box2dweb z przykładami na swoim blogu [6]
  • wydaje się, że nikt nie używa trzeciej alternatywy.
  • istnieją również symulatory fizyki NIE oparte na Box2D. Sprawdź Materia.js i p2.js

Jest też podobna dyskusja na gamedev.stackexchange.com .

I ' d say że zwycięzcą jest kripken/box2d.js.

 73
Author: a paid nerd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-14 18:56:57

To pytanie i jego najlepsza odpowiedź pochodzą z 2011 roku. Jedną z ostatnich nowych opcji jest box2.JS, tłumaczenie Emscripten kodu C++ na Javascript. Od sierpnia 2013 jest bardziej aktualny niż inne porty, które znalazłem, a dema wydają się działać.

 12
Author: Nelson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-27 16:20:44

LiquidFun (z wiązaniami JS)

LiquidFun jest, w momencie gdy to zamieszczam, najnowszym portem do JS. Posiada wszystkie cechy Box2D i funkcji fizyki cieczy. Jest przeportowany za pomocą emscripten, więc wydajność jest przyzwoita.

Google / liquidfun

Google/liquidfun/tree/master/liquidfun/Box2D/lfjs

 7
Author: DylanVann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-29 23:45:11

Prawdopodobnie najlepszym miejscem, aby być na bieżąco z portami JavaScript Box2D jest oficjalne forum: http://box2d.org/forum/viewforum.php?f=22

JSBox2D wygląda na dobry początek.

Na pewno przyjrzałbym się sprawie .js , który wydaje się bardzo dobrze zbudowany i bardzo szybki. Idę tą ścieżką. http://brm.io/matter-js

 6
Author: zoosrc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-01 15:36:11

Box2d-html5 jest również inny port box2d w tym Google LiquidFun) i active update.

 3
Author: cuixiping,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-18 23:25:55

Box2DWeb obsługuje większość API z oryginalnego C++ Box2D z wyjątkiem kształtów łańcucha. :/

Jest to najczęściej używany Javascript Box2D. jeśli potrzebujesz dokumentacji API dla Box2DWeb, sprawdź Box2DFlash. http://www.box2dflash.org/docs/2.1a/reference/

Box2DWeb jest automatycznie generowany z Box2DFlash przy użyciu kompilatora. Więc API jest takie samo.

Wątpię, by Box2DWeb w przyszłości doczekał się jakiejkolwiek aktualizacji, ponieważ Box2DFlash nie wykazał już żadnych działań. Możesz zobacz racjonalność autora, dlaczego zdecydował się nie pisać bezpośredniego portu Box2D -- > Box2DWeb.

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

 0
Author: Vennsoh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-29 01:18:55