Gibt es alternative JS-Ports von Box2D?

19

Ich habe darüber nachgedacht, ein Top-Down-2D-Autospiel für HTML5 zu entwickeln. Für mein erstes Spiel habe ich die Physik und Kollisionen selbst geschrieben, aber für dieses möchte ich eine fertige Bibliothek verwenden.

Ich habe Box2D und seinen JS-Port herausgefunden.

http://box2d-js.sourceforge.net

Es scheint ein ziemlich alter Port zu sein, der im Jahr 2008 hergestellt wurde. Fehlen ihm viele Funktionen der aktuellen Box2D oder hat er größere Probleme? Und gibt es Alternativen dazu?

Petteri Hietavirta
quelle
3
-1 weil es bekannte Probleme mit der gesamten Software gibt. Spezifische Fragen bitte.
Ich weiß nicht, ob Ihr Kommentar vor oder nach der Bearbeitung abgegeben wurde, aber ich denke, es ist ziemlich klar, dass das OP nach größeren Problemen fragt, die schwerwiegende Probleme verursachen könnten (z. B. wenn mehr als X Gelenke verwendet werden, stürzt das Programm ab), kein bekanntes Problem
Die kommunistische Ente
Es war vor der Bearbeitung, aber ich denke immer noch, dass es eine schlechte Frage ist. Wenn Sie beispielsweise mehr als 10.000.000 Gelenke verwenden, stürzt das Programm mit Sicherheit ab. Ohne besondere Bedenken lautet diese Frage effektiv "Bitte überprüfen Sie <Software>" - das ist keine sehr gute Frage. Das SE-Format eignet sich für gezielte Fragen. Google ist besser für allgemeine Übersichten. (Sie werden bemerken, dass keine der beiden Antworten aktuelle Probleme mit Box2D JS aufzeigt, nur einen Hinweis auf eine Alternative, die die Frage genauso gut erneut stellen könnte.)
Jetzt wurde die Frage bis zur Unkenntlichkeit bearbeitet - und wenn man sie auf diese Weise fragt, wird sie trivial googleable - und da sie nach einer Liste von Dingen fragt, ist sie wahrscheinlich am besten als CW geeignet.
1
Ähnliche Frage: stackoverflow.com/questions/7628078/…
ein bezahlter Nerd

Antworten:

10

Box2D hat eine Art gepflegte Version auf Github:

https://github.com/thinkpixellab/pl/tree/master/src/box2d

Microsoft verwendet es für mindestens eine Testversion von IE9.

oberhamsi
quelle
5
"Microsoft verwendet es für mindestens eine Testversion von IE9." Darauf kann man wirklich stolz sein?
Rightfold
17
@WTP Haben Sie sogar einige der JS- und Canvas-Demos in IE9 ausprobiert? Der gesamte Browser ist hardwarebeschleunigt und bietet die schnellste HTML5-Leistung auf der ganzen Linie. Nur weil eine Version des Browsers vor 10 Jahren gesaugt hat, heißt das noch lange nicht, dass es so ist.
AttackingHobo
1
@ AttackingHobo, +1, IE6, 7 wirklich saugen. 8 Mehr oder weniger. 9 oder 10 sind anständige Browser. Hören Sie auf, die ganze Familie zu hassen, weil einige Familienmitglieder veraltet sind.
lukas.pukenis
16

Es gibt box2dweb, einen viel neueren Port, der viel weniger Probleme hat als box2djs. Ich empfehle es sehr.

http://code.google.com/p/box2dweb/

DariusK
quelle
Es gibt also momentan drei Versionen? box2d-js.sourceforge.net github.com/thinkpixellab/box2d und code.google.com/p/box2dweb
Petteri Hietavirta
3
Ja, obwohl es so aussieht, als würde Box2Dweb aktiv weiterentwickelt (letzter Check am 23.01.11), wohingegen der Github weniger ist (letzter Check am 29.10.10). Außerdem hat Box2Dweb eine aktive Roadmap für die nächsten Schritte
DariusK
Diese Version ist auch gut - github.com/HBehrens/box2d.js
onedayitwillmake
Ich habe angefangen mit box2dweb zu spielen. Es sieht im Moment in Ordnung aus. Außerdem gibt es eine gute Dokumentation: box2dflash.org/docs/2.1a/reference
sabiland
3

Eine beliebte Alternative (wenn auch keine Portierung) ist cannon.js , eine "leichte 3D-Physik-Engine" für das Web.

Sam
quelle
2

Ebenfalls:

Ich erinnere mich auch an einen Port für den ursprünglichen C ++ - Code zu JavaScript mit Emscripten dh. LLVM, aber ich kann es nicht wiederfinden. Nur gefunden https://github.com/kripken/emscripten/issues/22
Schade, ich finde es interessant, den Originalcode eher als einen Port eines Ports anzupassen ...

PhiLho
quelle
Die altbekannte JBox2D unterstützt auch GWT von Anfang an!
Groomblecom
1
@Groomblecom Vielleicht nicht zu dem Zeitpunkt, als ich das geschrieben habe, weil GWT nicht ganz Java unterstützt hat (und ich glaube immer noch nicht). Java und GWT haben sich seitdem weiterentwickelt. Gut zu wissen. Vielen Dank.
PhiLho
1

Obwohl dies nicht Box2D ist, gibt es für JS eine Portierung von JigLib (3D Physics): https://github.com/supereggbert/JigLibJS . Ich habe es nicht verwendet, aber es wurde für die Verwendung in der GLGE WebGL-Bibliothek portiert.

Andrew
quelle
0

Es gibt eine sehr gute Alternative für Box2D-JS, siehe box2dweb . Sehen Sie sich dieses Spiel an , das mit box2dweb erstellt wurde. Mit dieser Physik-Engine können Sie Ihr Projekt auf einfache Weise erstellen.

NetworkingMind
quelle