javascript - que - vue.js tutorial
¿Qué biblioteca de JavaScript de Box2D debería usar? (6)
Hay algunos puertos diferentes de Box2D para JavaScript. ¿Cuál es el mejor?
Box2DJS - "convertido desde Box2DFlashAS3_1.4.3.1 de forma automática"
Box2Dflash 2.0 portado a JavaScript - "un gran hack desagradable que simplemente funciona"
box2dweb - "un puerto de Box2DFlash 2.1a a JavaScript. Desarrollé un conversor de ActionScript 3-a-JavaScript para generar el código"
HBehrens/box2d.js - "una versión de JavaScript de Box2D 2.1a" (Añadido el 21 de noviembre de 2011)
kripken/box2d.js - "un puerto directo del motor de física Box2D 2D a JavaScript, usando Emscripten" (Añadido el 24 de septiembre de 2013)
¿Alguna idea de qué versión usa http://chrome.angrybirds.com/ , si corresponde?
Nota para los lectores!
Esta pregunta fue originalmente hecha y respondida en 2011, ¡pero haré todo lo posible para mantenerla actualizada!
Esto es lo que he encontrado:
- kripken/box2d.js es un puerto de Box2D que usa Emscripten y funciona bien y es rápido. Lo he usado personalmente con gran éxito.
- planck.js es el puerto más nuevo y está escrito desde cero en JavaScript
- Box2DJS es un puerto de Box2DFlash 1.4.3.1. box2dweb es un puerto de la versión 2.1a.
- Box2DJS funciona "como un módulo CommonJS sin ninguna modificación en absoluto" [1]
- Box2DJS "no está actualizado y debe importar una gran cantidad de archivos JavaScript en cada proyecto" box2dweb
- box2dweb está contenido en un único archivo box2dweb
- box2dweb es "un puerto mucho más nuevo y tiene muchos menos problemas" que Box2DJS [3] . Sin embargo, el cambio podría presentar nuevos problemas [4] .
- Box2DJS depende de Prototype pero box2dweb does not [5]
- Seth Ladd promocionó box2dweb con ejemplos en su blog [6]
- Nadie parece estar usando la tercera alternativa.
- También hay simuladores de física no basados en Box2D. Echa un vistazo a Matter.js y p2.js
También hay [3] .
Yo diría que el ganador es kripken / box2d.js.
Box2DWeb es compatible con la mayor parte de la API del C ++ Box2D original, excepto las formas de cadena. : /
Es el Javascript más utilizado Box2D. Si necesita la documentación de API para Box2DWeb, consulte Box2DFlash. http://www.box2dflash.org/docs/2.1a/reference/
Box2DWeb se genera automáticamente desde Box2DFlash usando un compilador. Entonces la API es la misma.
Dudo que Box2DWeb reciba ninguna actualización en el futuro ya que Box2DFlash ya no muestra actividades. Puede ver la racionalidad del autor sobre por qué decidió no escribir un puerto directo Box2D -> Box2DWeb.
Esta pregunta y su mejor respuesta son de 2011. Una nueva opción reciente es kripken/box2d.js , una traducción Emscripten del código C ++ a Javascript. A partir de agosto de 2013 está más actualizado que los otros puertos que he encontrado, y las demostraciones parecen funcionar.
Probablemente el mejor lugar para mantenerse al día con los puertos JavaScript de Box2D es el foro oficial: http://box2d.org/forum/viewforum.php?f=22
JSBox2D parece un buen comienzo.
Definitivamente echaré un vistazo a Matter.js , que parece muy bien construido y muy rápido. Voy por este camino. http://brm.io/matter-js
Box2d-html5 también es otro puerto box2d que incluye LiquidFun de Google) y la actualización activa.
- Box2d-html5
- Ahora se mantiene en github: https://github.com/flyover/box2d.js
LiquidFun (con enlaces JS)
LiquidFun es, en el momento en que publico esto, el puerto más reciente para JS. Tiene todas las características de Box2D y características físicas líquidas. Se transporta utilizando emscripten, por lo que el rendimiento es decente.