87 votes

Quelle bibliothèque JavaScript Box2D dois-je utiliser?

Il ya quelques différents ports de Box2D pour le JavaScript. Lequel est le meilleur?

  • Box2DJS - "converti à partir Box2DFlashAS3_1.4.3.1 dans une, de manière automatique"

  • Box2Dflash 2.0 porté à JavaScript - "un gros méchant hack qui se trouve tout juste travail"

  • box2dweb - "un port de Box2DFlash 2.1 un JavaScript. J'ai développé une ActionScript 3 - JavaScript convertisseur pour générer le code"

  • HBehrens/box2d.js - "une Version JavaScript de Box2D 2.1" (Ajouté le 21 Novembre 2011)

  • kripken/box2d.js - "un port direct de la Box2D 2D moteur physique pour JavaScript, en utilisant Emscripten" (Ajouté Sep 24, 2013)

Toutes les idées de la version http://chrome.angrybirds.com/ utilise, le cas échéant?

81voto

a paid nerd Points 11716

Note aux lecteurs!

Cette question a été initialement posées et répondues en 2011, mais je vais faire de mon mieux pour le tenir à jour!

Voici ce que j'ai trouvé:

  • kripken/box2d.js est un port de Box2D à l'aide de Emscripten et fonctionne bien. Commencer par cela.
  • Box2DJS est un port de Box2DFlash 1.4.3.1. box2dweb est un port de la version 2.1.
  • Box2DJS fonctionne "comme un CommonJS module sans aucune modification à tous" [1]
  • Box2DJS "pas à jour et que vous avez à importer une grande quantité de fichiers JavaScript dans chaque projet" [2]
  • box2dweb est contenue dans un seul fichier [2]
  • box2dweb est "une beaucoup plus récente port et a beaucoup moins de problèmes" que Box2DJS [3]. Toutefois, la substitution peut introduire de nouveaux problèmes [4].
  • Box2DJS dépend de Prototype, mais box2dweb ne pas [5]
  • Seth Ladd a promu box2dweb avec des exemples sur son blog [6]
  • Personne ne semble être à l'aide de la troisième alternative.

Il y a aussi une discussion similaire sur gamedev.stackexchange.com.

Je dirais que le gagnant est kripken/box2d.js.

12voto

Nelson Points 3878

Cette question et sa meilleure réponse datent de 2011. Une nouvelle option récente est box2.js , une traduction Emscripten du code C ++ en Javascript. Depuis août 2013, il est plus à jour que les autres ports que j'ai trouvés et les démonstrations semblent fonctionner.

8voto

DylanVann Points 126

LiquidFun (avec fixations de JS)

LiquidFun est, au moment où j’écris ceci, le plus récent port de JS. Il possède toutes les caractéristiques de Box2D et liquide physique caractéristiques. Il est porté à l’aide d’emscripten, donc le rendement est décent.

Google/liquidfun

Google/liquidfun/arbre/maître/liquidfun/Box2D/lfjs

6voto

zoosrc Points 40

Probablement le meilleur endroit pour tenir à jour avec les ports de Box2D JavaScript est le forum officiel : http://box2d.org/forum/viewforum.php?f=22

JSBox2D ressemble à un bon début.

J’aurais certainement un coup d’oeil en Matter.js, qui semble très bien construit et très rapide. Je vais dans cette voie. http://BRM.IO/Matter-js

0voto

Vennsoh Points 668

Box2DWeb prend en charge la plupart des API à partir de l'original C++ Box2D à l'exception de la chaîne de formes. :/

Il est le plus largement utilisé Javascript Box2D. Si vous avez besoin de la documentation de l'API pour Box2DWeb, découvrez Box2DFlash. http://www.box2dflash.org/docs/2.1a/reference/

Box2DWeb est généré automatiquement à partir de Box2DFlash à l'aide d'un compilateur. Si l'API est la même.

Je doute Box2DWeb aura une mise à jour à l'avenir plus que Box2DFlash a montré aucune activité n'a plus. Vous pouvez voir l'auteur du rationnel sur pourquoi il a décidé de ne pas écrire directement Box2D --> Box2DWeb port.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X