/ / स्विफ्ट + बॉक्स 2 डी: बॉक्स 2 डी को एक खाली स्विफ्ट स्प्राइटकिट प्रोजेक्ट में कैसे एकीकृत किया जाए? - आईओएस, स्विफ्ट, स्प्राइट-किट, बॉक्स 2 डी

स्विफ्ट + बॉक्स 2 डी: बॉक्स 2 डी को रिक्त स्विफ्ट स्प्राइटकिट प्रोजेक्ट में कैसे एकीकृत करें? - आईओएस, स्विफ्ट, स्प्राइट-किट, बॉक्स 2 डी

उम्र के लिए कोशिश करने के बाद, मैं जी 2थ पर पाए गए बॉक्स 2 डी के लिए न तो सी ++ संस्करण या कुछ स्विफ्ट पोर्ट को एकीकृत करने में सक्षम था।

मैंने एक ऑब्जेक्टिव-सी फाइल को जोड़ने की कोशिश की, फिर बॉक्स-डी / बॉक्स 2 डी.एच फाइल को कैसे और कहां जोड़ना है, यह जानने के लिए ऑटो-ब्रिज ब्रिज हैडर फाइल नहीं बनाई।

बस मेरे प्रोजेक्ट में पूरे Box2D फ़ोल्डर को जोड़ने और कोशिश कर रहा है

let world = b2World(...)

काम नहीं करता है, लेकिन यह Box2D फाइलें क्यों नहीं खोजता है?

मैं X2 कोड में Box2D को एक नई रिक्त स्विफ्ट स्प्राइटकिट परियोजना में कैसे एकीकृत करूं?

उत्तर:

उत्तर № 1 के लिए 1

जैसा @KinghtOfDragon पहले से ही एक टिप्पणी में कहा, Box2d पहले से ही SpriteKit में एकीकृत किया गया है। और आपको C ++ का उपयोग करने की आवश्यकता नहीं है, सब कुछ पूरी तरह से स्विफ्ट (या उद्देश्य-सी) के लिए उपलब्ध है।

विषय में वर्णित है स्प्राइटकिट प्रोग्रामिंग गाइड। आपको इन टैग्स की खोज के लिए ढेर सारे Q / A भी यहां मिलेंगे

एक दो उदाहरण

एक प्रेत के लिए एक भौतिकी शरीर बनाना

इस स्निप ने स्प्राइट की बनावट से मेल खाते हुए एक भौतिक शरीर का निर्माण किया

let sprite = SKSpriteNode(imageNamed: "enemy")
sprite.physicsBody = SKPhysicsBody(texture: sprite.texture!, size: sprite.texture!.size())

द फिजिक्स वर्ल्ड

अपने GameScene वर्ग के अंदर आप पाते हैं physicsWorld संपत्ति। यह आपको अपने गेम की भौतिकी दुनिया के पैरामीटर को बदलने की अनुमति देता है। जैसे आप बस लेखन गुरुत्वाकर्षण को हटा सकते हैं

physicsWorld.gravity = CGVector(dx: 0.0, dy: 0.0)