मुझे किस बॉक्स 2 डी जावास्क्रिप्ट लाइब्रेरी का उपयोग करना चाहिए? [बन्द है]


90

जावास्क्रिप्ट के लिए Box2D के कुछ अलग पोर्ट हैं । कौन सा सबसे अच्छा है?

  • Box2DJS - "Box2DFlashAS3_1.4.3.1 से स्वचालित तरीके से परिवर्तित"

  • Box2Dflash 2.0 ने जावास्क्रिप्ट को पोर्ट किया - "एक बड़ा गंदा हैक जो सिर्फ काम करने के लिए होता है"

  • box2dweb - "जावास्क्रिप्ट के लिए Box2DFlash 2.1a का एक पोर्ट। मैंने कोड उत्पन्न करने के लिए एक ActionScript 3 -to- जावास्क्रिप्ट कनवर्टर विकसित किया है"

  • HBehrens / box2d.js - "Box2D 2.1a का एक जावास्क्रिप्ट संस्करण" (जोड़ा गया 21 नवंबर, 2011)

  • kripken / box2d.js - "Emscripten का उपयोग करके जावास्क्रिप्ट पर Box2D 2D भौतिकी इंजन का एक सीधा बंदरगाह" (जोड़ा गया 24 सितंबर, 2013)

कोई भी विचार जो संस्करण http://chrome.angrybirds.com/ का उपयोग करता है, यदि कोई हो?


यह एक Box2D पोर्ट होना भी नहीं है। उदाहरण के लिए, Matter.js और P2.js दोनों ही काफी ठोस प्रतीत होते हैं।
थॉमस

@ थोमस मैं सहमत हूँ। लेकिन सवाल पूछे जाने वाले समय को देखें। उस समय मेरा मानना ​​है कि Matter.js और P2.js अभी तक बाहर नहीं आए हैं।
newguy

शायद, लेकिन मुझे लगता है कि यह सवाल Google में आया है ... कोई नुकसान नहीं जो आप के बाद आने वाले लोगों के लिए उपयोगी संकेत के साथ तारीख तक रखने की कोशिश कर रहे हैं :)
थॉमस

जवाबों:


86

पाठकों को ध्यान दें!

यह सवाल मूल रूप से 2011 में पूछा गया था और इसका जवाब दिया गया था, लेकिन मैं इसे बनाए रखने की पूरी कोशिश करूंगा!

यहाँ मैं क्या पाया है:

  • kripken / box2d.js Emscripten का उपयोग करके Box2D का एक बंदरगाह है और अच्छी तरह से काम करता है और तेज है। मैंने व्यक्तिगत रूप से बड़ी सफलता के साथ इसका उपयोग किया है।
  • planck.js सबसे नया पोर्ट है और इसे जावास्क्रिप्ट में ग्राउंड-अप से लिखा जाता है
  • Box2DJS Box2DFlash 1.4.3.1 का एक पोर्ट है। box2dweb संस्करण 2.1a का एक बंदरगाह है।
  • Box2DJS "कॉमनजेएस मॉड्यूल के रूप में बिना किसी संशोधन के काम करता है" [1]
  • Box2DJS "अप-टू-डेट नहीं है और आपको हर परियोजना में बड़ी मात्रा में जावास्क्रिप्ट फ़ाइलों का आयात करना होगा" [2]
  • box2dweb एक एकल फ़ाइल में निहित है [2]
  • Box2dweb "बहुत नया बंदरगाह है और इसमें Box2DJS [3] की तुलना में बहुत कम समस्याएँ हैं" । हालाँकि, स्विचिंग नए मुद्दे [4] पेश कर सकता है ।
  • Box2DJS प्रोटोटाइप पर निर्भर करता है लेकिन Box2dweb [5] नहीं करता है
  • सेठ लड्ड ने अपने ब्लॉग पर उदाहरणों के साथ box2dweb को बढ़ावा दिया है [6]
  • कोई भी तीसरे विकल्प का उपयोग नहीं करता है।
  • Box2D पर आधारित भौतिकी सिमुलेटर नहीं हैं । की जाँच करें Matter.js और p2.js

Gamedev.stackexchange.com पर भी इसी तरह की चर्चा है

मैं कहूंगा कि विजेता kripken / box2d.js है।


box2d, box2dweb जितना पुराना नहीं है। बहुत सारी कोर कक्षाएं मिनीफाइड फ़ाइल से गायब हैं।
डोपाट्रमण

1
मैंने अपने मौजूदा iOS बॉक्स 2 डी गेम को पोर्ट करने वाले एक प्रोजेक्ट में व्यक्तिगत रूप से box2dJS का उपयोग किया है। संस्करण अंतर के साथ मुझे जो मिला है वह यह है कि iOS के कामों में से कुछ कोड JS संस्करण और देव पड़ाव में काम नहीं करता है। उसके बाद, मैंने सभी कोड को box2dweb में बदलने के लिए आधा सप्ताह का उपयोग किया और हर चीज ठीक उसी तरह काम करती है जैसे कि मेरे iOS बॉक्स 2 के खेल में होती है। इसलिए संस्करण का अंतर बहुत मायने रखता है।
मक़जान

Emscripten पोर्ट बहुत अच्छा है, लेकिन पिछली बार जब मैंने इसे इस्तेमाल किया था तो मैंने पाया कि यह छोटी गाड़ी (यादृच्छिक फ्रीज सहित), और बहुत कठिन डीबग करने के लिए, emscripten की प्रकृति के कारण है।
बन्हेरेरो

2
@aPaidNerd क्या यह अभी तक का है?
केन

2
एक नया Box2d- पोर्टेड JS भौतिकी इंजन जिसे प्लैंक कहा जाता है, हाल ही में बाहर आया था, इसे देखें: github.com/shakiba/planck.js
newguy

13

यह सवाल और इसका सबसे अच्छा उत्तर 2011 से है। हाल ही में एक नया विकल्प बॉक्स 2 है। जेएस , जावास्क्रिप्ट के लिए सी ++ कोड का एक एम्सस्क्रिप्ट अनुवाद। अगस्त 2013 तक यह मेरे द्वारा पाए गए अन्य बंदरगाहों की तुलना में अधिक अद्यतित है, और डेमो काम करने लगते हैं।


धन्यवाद @ नेल्सन, मैंने इसे सवाल में जोड़ा
एक भुगतान किया

मैं इनमें से किसी भी लिबास का उपयोग नहीं करता था, लेकिन box2d.js और "वीटैबल्स के साथ मज़ा" शांत नहीं लगता।
क्यूबसप्ला 42

8

लिक्विडफुन (जेएस बिंदिंग्स के साथ)

LiquidFun है, जिस समय मैं यह पोस्ट कर रहा हूं, JS के लिए सबसे हालिया पोर्ट। इसमें Box2D और लिक्विड फिजिक्स के सभी फीचर्स हैं। यह emscripten का उपयोग करके चित्रित किया गया है, इसलिए प्रदर्शन सभ्य है।

गूगल / liquidfun

गूगल / liquidfun / पेड़ / मास्टर / liquidfun / Box2D / lfjs


मैं हाल ही में इस पार आया हूं और यह पानी को टंकियों और वाल्वों आदि में पाइपों के माध्यम से बहने के लिए आदर्श लगता है। यह एक ऐसी परियोजना के लिए एक अच्छा समाधान होगा जिसे मैं देख रहा हूं। क्या वहाँ कोई ट्यूटोरियल है विशेष रूप से वास्तव में मेरी जावास्क्रिप्ट में पुस्तकालय कैसे प्राप्त करें। दस्तावेज़ीकरण थोड़ा दुर्लभ लगता है
बॉब हस्लेट

6

संभवतः Box2D जावास्क्रिप्ट बंदरगाहों के साथ अद्यतित रहने का सबसे अच्छा स्थान आधिकारिक मंच है: http://box2d.org/forum/viewforum.php?f=22

JSBox2D एक अच्छी शुरुआत की तरह दिखता है।

मुझे निश्चित रूप से Matter.js पर एक नज़र होगी , जो बहुत अच्छी तरह से बनाया गया है और बहुत जल्दी लगता है। मैं इस रास्ते से नीचे जा रहा हूं। http://brm.io/matter-js


1
Matter.js ने आपके लिए कैसे काम किया है?
डेविड वाई। स्टीफनसन


0

Box2DWeb श्रृंखला आकार को छोड़कर मूल C ++ Box2D से अधिकांश API का समर्थन करता है। : /

यह सबसे व्यापक रूप से इस्तेमाल किया जाने वाला जावास्क्रिप्ट बॉक्स 2 डी है। यदि आपको Box2DWeb के लिए एपीआई प्रलेखन की आवश्यकता है, तो Box2DFlash की जांच करें। http://www.box2dflash.org/docs/2.1a/reference/

Box2DWeb एक संकलक का उपयोग करके Box2DFlash से ऑटो उत्पन्न होता है। तो एपीआई समान है।

मुझे शक है कि Box2DWeb को भविष्य में कोई भी अपडेट मिलेगा क्योंकि Box2DFlash ने अब कोई गतिविधि नहीं दिखाई है। आप लेखक के तर्क को देख सकते हैं कि उसने सीधे Box2D -> Box2DWeb पोर्ट लिखने का फैसला क्यों नहीं किया।

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


Box2D का अब तक का अगला दावेदार PhysicsJS है। wellcaffeinated.net/PhysicsJS/ (मेरे
सेंट

Google ने I / O 2014 के दौरान एक प्लगइन, LiquidFun (Go google) जारी किया है। इसका उपयोग करने के लिए आपको Box2D v2.3 की आवश्यकता होगी। यह बहुत बढ़िया है।
वेनसो जुएल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.