2009-08-06 14 views
5

आप अक्सर सुनते हैं कि सी ++ खेलों के लिए उद्देश्य-सी के लिए बेहतर है, खासकर आईफोन जैसे संसाधन-बाधित वातावरण में। (मुझे पता है कि आपको अभी भी आईफोन सेवाओं से बात करने के लिए कुछ उद्देश्य-सी की आवश्यकता है।) फिर भी, इन दिनों पसंद के 2 डी गेम इंजन कोकोस 2 डी लगता है, जो उद्देश्य-सी है।सी ++ आईफोन गेम में उद्देश्य-सी गेम इंजन का उपयोग करें?

मैं समझता हूं कि ऐप्पल "ऑब्जेक्टिव-सी ++" कहता है जो आपको एक फ़ाइल में सी ++ और ऑब्जेक्टिव-सी कक्षाओं को मिश्रण करने की अनुमति देता है, लेकिन आप उसी वर्ग या फ़ंक्शन के भीतर भाषा संरचनाओं को मिश्रण और मिलान नहीं कर सकते हैं।

तो, क्या यह सी ++ गेम के लिए कोकोस 2 डी का उपयोग करने के लिए समझदार/संभव है? क्या आपको बहुत सारे "गोंद" कोड लिखना है? मैं कुछ भारी उठाने से बचना चाहता हूं कि प्रत्यक्ष ओपनजीएल-ईएस दृष्टिकोण की आवश्यकता होगी।

उत्तर

3

मैं वर्तमान में कोकोस 2 के साथ एक गेम प्रोटोटाइप कर रहा हूं। मैं चिपमंक के साथ सी ++ में गेम लॉजिक लिख रहा हूं और फिर दृश्य परत को लागू करने के लिए कोको का उपयोग कर रहा हूं। आप वास्तव में उसी कक्षा, फ़ंक्शन और कोड की रेखा में सी ++ और ऑब्जेक्टिव-सी को स्वतंत्र रूप से मिश्रित कर सकते हैं। मुझे यकीन है कि सीमाएं हैं, जैसे आप शायद क्लास इंटरफ़ेस में उद्देश्य-सी और सी ++ विधि परिभाषा वाक्यविन्यास को मिश्रित नहीं कर सकते (मैंने वास्तव में कोशिश करने के लिए सोचा नहीं था), लेकिन अधिकांश व्यावहारिक उद्देश्यों के लिए आप स्वतंत्र रूप से मिश्रण कर सकते हैं।

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

+1

धन्यवाद। निष्पादन विचारों को अलग-अलग, मैं व्यक्तिगत स्वाद के मामले के रूप में सी ++ का उपयोग करना पसंद करूंगा। लगता है जैसे मैं यह कर सकता हूं और अभी भी कोकोस 2 डी का उपयोग कर सकता हूं। – Buggieboy

7

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

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