어떤 Box2D JavaScript 라이브러리를 사용해야합니까? [닫은]


90

JavaScript 용 Box2D 에는 몇 가지 다른 포트가 있습니다. 어느 것이 최고입니까?

http://chrome.angrybirds.com/ 버전이 사용 하는 아이디어가 있습니까?


Box2D 포트 일 필요도 없습니다. 예를 들어 Matter.jsp2.js는 모두 상당히 견고 해 보입니다.
Thomas

@Thomas 동의합니다. 그러나 질문이 제기 된 시간을보십시오. 그 당시 나는 Matter.js와 p2.js가 아직 나오지 않았다고 생각합니다.
newguy apr.

아마,하지만 저는이 질문이 구글에 올라 왔다고 생각합니다 ... 당신을
Thomas

답변:


86

독자 참고!

이 질문은 원래 2011 년에 질문 및 답변되었지만 최신 상태로 유지하기 위해 최선을 다하겠습니다!

내가 찾은 내용은 다음과 같습니다.

  • kripken / box2d.jsEmscripten을 사용하는 Box2D의 포트이며 잘 작동하고 빠릅니다. 나는 이것을 개인적으로 큰 성공을 거두었습니다.
  • planck.js 는 최신 포트이며 JavaScript로 처음부터 작성되었습니다.
  • Box2DJS는 Box2DFlash 1.4.3.1의 포트입니다. box2dweb은 버전 2.1a의 포트입니다.
  • Box2DJS는 "수정없이 CommonJS 모듈로"작동합니다. [1]
  • Box2DJS "최신이 아니며 모든 프로젝트에서 많은 양의 JavaScript 파일을 가져와야합니다." [2]
  • box2dweb은 단일 파일에 포함되어 있습니다. [2]
  • box2dweb은 Box2DJS [3] 보다 "훨씬 새로운 포트이며 문제가 훨씬 적습니다" . 그러나 전환은 새로운 문제를 일으킬 수 있습니다 [4] .
  • Box2DJS는 프로토 타입에 의존하지만 box2dweb은 그렇지 않습니다. [5]
  • Seth Ladd는 자신의 블로그에 예제와 함께 box2dweb을 홍보했습니다. [6]
  • 아무도 세 번째 대안을 사용하지 않는 것 같습니다.
  • Box2D를 기반으로 하지 않는 물리 시뮬레이터도 있습니다 . Matter.jsp2.js 확인

gamedev.stackexchange.com 에서도 비슷한 토론이 있습니다 .

승자는 kripken / box2d.js라고 말하고 싶습니다.


box2d는 box2dweb만큼 최신 버전이 아닙니다. 축소 된 파일에서 많은 핵심 클래스가 누락되었습니다.
dopatraman

1
개인적으로 기존 iOS box2D 게임을 포팅하는 한 프로젝트에서 box2dJS를 사용했습니다. 버전 차이로 발견 한 것은 iOS 작동의 일부 코드가 JS 버전 및 개발 중단에서 작동하지 않는다는 것입니다. 그 후 반주를 사용하여 모든 코드를 box2dweb으로 변경했으며 모든 것이 iOS box2d 게임과 동일하게 작동합니다. 따라서 버전 차이가 매우 중요합니다.
Makzan

emscripten 포트는 꽤 멋지지만 마지막으로 사용했을 때 버그가 있고 (임의의 멈춤을 포함하여) emscripten의 특성으로 인해 디버그하기가 매우 어렵습니다.
bunnyhero 2015-04-12

2
@aPaidNerd 아직 최신 상태입니까?

2
planck라는 새로운 Box2d-ported JS 물리 엔진이 최근에 나왔습니다. 확인하십시오 : github.com/shakiba/planck.js
newguy

13

이 질문에 최선의 대답은 2011 년 최근의 새로운 옵션이 출신 box2.js , 자바 스크립트로 C ++ 코드의 Emscripten 번역. 2013 년 8 월 현재 내가 찾은 다른 포트보다 최신 상태이며 데모가 작동하는 것 같습니다.


감사합니다 @Nelson, 나는 질문에 추가
유료 괴상한

나는 이러한 libs를 사용하지 않았지만 box2d.js와 "fun with VTables"는 멋지게 들리지 않습니다.
cubuspl42 2013

8

LiquidFun (JS 바인딩 사용)

LiquidFun은 내가 이것을 게시 할 당시 JS에 대한 가장 최근 포트입니다. Box2D의 모든 기능과 액체 물리학 기능이 있습니다. emscripten을 사용하여 이식되었으므로 성능이 좋습니다.

Google / liquidfun

google / liquidfun / tree / master / liquidfun / Box2D / lfjs


나는 최근에 이것을 보았고 파이프를 통해 탱크와 밸브 등으로 흐르는 물을 시뮬레이션하는 데 이상적입니다. 내가보고있는 프로젝트에 좋은 솔루션이 될 것입니다. 특히 라이브러리를 실제로 내 자바 스크립트로 가져 오는 방법에 대한 자습서가 있습니까? 문서가 약간 부족한 것 같습니다
Bob Haslett 2015-12-03



0

Box2DWeb은 체인 모양을 제외한 원래 C ++ Box2D의 API 대부분을 지원합니다. : /

가장 널리 사용되는 Javascript Box2D입니다. Box2DWeb에 대한 API 문서가 필요한 경우 Box2DFlash를 확인하십시오. http://www.box2dflash.org/docs/2.1a/reference/

Box2DWeb은 컴파일러를 사용하여 Box2DFlash에서 자동 생성됩니다. 따라서 API는 동일합니다.

Box2DFlash가 더 이상 활동을 표시하지 않았기 때문에 Box2DWeb이 더 이상 업데이트를받을 수 있을지 의심됩니다. 저자가 직접 Box2D-> Box2DWeb 포트를 작성하지 않기로 결정한 이유를 확인할 수 있습니다.

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


지금까지 Box2D의 다음 경쟁자는 PhysicsJS입니다. wellcaffeinated.net/PhysicsJS/ (내 2cents)
Vennsoh

Google은 I / O 2014 기간 동안 LiquidFun (Go google)이라는 플러그인을 출시했습니다. 사용하려면 Box2D v2.3이 필요합니다. 꽤 굉장합니다.
Vennsoh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.