2010-05-05 16 views
5

मैं घुल मिल गए हैं box2d मेरी इंजन में, (डीबग ड्रा, आदि) और एक दुनिया के साथ मैं कुछ 2 डी वर्गों/आयत आदिकेवल मेरे 2 डी इंजन में Box2D टकराव का पता लगाने एकीकृत?

मैं this पोस्ट, जहां उपयोगकर्ता मूल रूप से है एक ऐसी दुनिया का उपयोग नहीं देखा में फेंक कर सकते हैं टक्कर पता लगाने के लिए, फिर भी उपयोगकर्ता आदि कैसे वह कई गुना (b2Manifold) उपयोग कर रहा है के बारे में कुछ भी, की व्याख्या नहीं करता

Another post, Cocos2d मंच में है, (नीचे उपयोगकर्ता लाम के लिए तीसरे उत्तर में स्क्रॉल करें)

क्या कोई मुझे इसके साथ थोड़ा सा मदद कर सकता है? मूल रूप से बी 2 वर्ल्ड, इत्यादि का उपयोग किए बिना टकराव का पता लगाना चाहता है

बहुत बहुत धन्यवाद!

उत्तर

2

क्या कोई कारण है कि आप b2World का उपयोग नहीं कर सकते हैं? सिर्फ इसलिए कि आप इसका उपयोग करते हैं, इसका मतलब यह नहीं है कि आपको भौतिकी सिमुलेशन का उपयोग करना होगा, जब तक कि आप गंभीर रूप से सीमित प्रदर्शन न करें।

केवल कोकोस 2 डी में टक्कर के लिए Box2D का उपयोग करने पर यह उदाहरण देखें। हो सकता है कि आप अपनी परियोजना के समान कुछ लागू कर सकें: http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone

2

उन दोनों पदों में कोड मेरे लिए पूरा लगता है। आप दो बहुभुज आकार और उनके संबंधित परिवर्तनों से शुरू होते हैं और b2CollidePolygons से आप एक संपर्क कई गुना वापस प्राप्त करते हैं।

बी 2 मनिफोल्ड केवल उन बिंदुओं का संग्रह है जिस पर दो आकार की सीमाएं छेड़छाड़ होती हैं। पोस्ट कोड में लेखक का उपयोग करता है कि यदि कई गुना बिंदु बिंदु शून्य से अधिक है तो एक ओवरलैप है। आकृतियों की प्रकृति के आधार पर ओवरलैप होने पर अंतरण बिंदुओं की अलग-अलग संख्या हो सकती है।

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

संबंधित मुद्दे