2009-04-17 18 views
5

मैं इस बात पर उलझन में हूं कि आईफोन के लिए गेम लिखते समय सबसे अच्छा तरीका क्या है। गेम ओपनजीएल के साथ प्रस्तुत किया जाएगा, लेकिन स्टार्ट स्क्रीन, मेनू, हाई स्कोर पेज इत्यादि बनाते समय उत्सुक हूं। क्या आप ओपनजीएल के साथ ऐसा करते हैं या आप अतिरिक्त UIViews बनाते हैं और UIKit का उपयोग करते हैं?आईफोन ओपनजीएल ईएस एकल या एकाधिक विचार?

उत्तर

2

मुझे नहीं लगता कि वहां एक सर्वोत्तम दृष्टिकोण है। यदि आपके पास ओपनजीएल में मेनू और उच्च स्कोर टेबल को कोड करने का समय है तो आपके पास बहुत अधिक लचीलापन है - उदाहरण के लिए आप पृष्ठभूमि में 3 डी एनीमेशन चल सकते हैं।

यदि आप मानक UIKit दृश्यों का उपयोग करते हुए मेनू, उच्च स्कोर टेबल इत्यादि कोड करते हैं और ओपनजीएल दृश्य को दिखाते समय स्विच करते हैं तो इसका लाभ यह है कि यह कोड के लिए बहुत तेज़ है (esp। अगर आपने सीखने का समय लिया इंटरफ़ेस बिल्डर का उपयोग करने के लिए), लेकिन यह स्वाभाविक रूप से 2 डी है। भले ही आप कस्टम बटन ग्राफिक्स और फ़ॉन्ट्स का उपयोग किसी व्यवसाय ऐप की तरह कम दिखने के लिए कर सकते हैं, फिर भी ऐप स्टोर में अन्य गेम की तुलना में यह कम पॉलिश देखने जा रहा है।

जो आप नहीं करना चाहते हैं वह ओपनजीएल व्यू के शीर्ष पर पारदर्शी UIView को लेना है - यह बहुत धीमा होगा।

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

+0

धन्यवाद, मुझे लगता है कि मैं यह सब करने के लिए बस ईएस रूट जाऊंगा। – chicken

+0

लेकिन, आप पाठ के बारे में क्या करते हैं? ... मैं अपने बटन और इंटरफेस को ओपनजीएल में बना सकता हूं, लेकिन आप टेक्स्ट से कैसे निपट सकते हैं? ... यदि मेरा पूरा गेम अंग्रेजी में है उदाहरण के लिए मैं इसे केवल लिखता हूं मेरी ग्राफिक संपत्तियां, लेकिन अगर मुझे इसे स्थानीयकृत करने की आवश्यकता है, तो ऐसा लगता है कि जटिल –

+0

आमतौर पर एक गेम में आपके पास दो स्थितियां हैं: टेक्स्ट की एक छोटी राशि और बड़ी राशि। यदि यह एक छोटी सी राशि है तो आप शायद टेक्स्ट को बिटमैप में जलाएं और स्थानीयकरण के मामले में, बस बिटमैप की कई प्रतियां हों। जहां आपके पास बड़ी मात्रा में टेक्स्ट है, वैसे भी इसे बिटमैप में स्टोर करना व्यावहारिक नहीं है, आपको रनटाइम पर टेक्स्ट प्रस्तुत करना होगा। आप ऑफ़-स्क्रीन बिटमैप पर एक ग्राफिक्स संदर्भ बना सकते हैं, जो कुछ भी (पाठ सहित) प्रस्तुत करने के लिए क्वार्ट्ज एपीआई का उपयोग करें और फिर उस बिटमैप को ओपनजीएल बनावट के रूप में उपयोग करें। – U62

1

मुझे नहीं लगता कि इसके लिए एक सही जवाब है। मैं व्यक्तिगत रूप से सब कुछ के लिए opengl का उपयोग करता हूं, उदाहरण के लिए मेनू संरचनाओं में मैं पाठ के लिए बनावट का उपयोग करता हूं। मुझे लगता है कि यह उस चीज़ पर निर्भर करता है जिसे आप प्रदर्शित करना चाहते हैं, मुझे लगता है कि कस्टम लुक बनाना आसान होगा और महसूस होगा कि अगर आप ओपनगल के साथ चिपके रहते हैं तो आपके गेम के साथ अच्छा चल रहा है।

+0

हाँ मुझे लगता है कि मैं इस दृष्टिकोण को ले जाऊंगा, लेकिन मुझे नहीं पता था कि यह बेहतर अभ्यास था कि सेब यूआईसीआईटी को मूलभूत तरीके से संभालने दें। – chicken

1

मैंने इसके बारे में विरोधाभासी बातें सुनी हैं। मैंने सुना है कि जब आप ओईएस पर यूआईकिट प्रस्तुत करते हैं तो यह धीमा होता है।

मैं कहता हूं, यदि आप एक और ऐप देखते हैं जो ठीक करता है, तो सूट का पालन करें।

कुछ अधिक लोकप्रिय गेम ओईएस में सबकुछ करते हैं - उदा। रोलैंडो। शायद उस पैटर्न का पालन करना सबसे अच्छा है।

+0

मुझे नहीं लगता कि वह OpenGLES दृश्यों पर UIKit को लेयर करने के बारे में पूछ रहा है, बस गेम के अन्य 'मोड' के लिए इसका उपयोग करना है या नहीं। – U62

+0

हाँ जैसे यू 62 ने कहा, मूल रूप से मैं उस उदाहरण में दृश्य नियंत्रकों का एक समूह होगा और प्रदर्शित करने के लिए उपयुक्त एक के आधार पर दृश्यों को धक्का/पॉपिंग करूँगा। – chicken

0

दूसरों के कहने के अलावा, मान लें कि ओपनजीएल के साथ रहना आपके लिए थोड़ा आसान है क्योंकि यह आपके कोडबेस का बड़ा हिस्सा होगा।

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