2010-06-17 12 views
6

मैं एंड्रॉइड पर गेम प्रोग्रामिंग की रस्सी सीखने के लिए एक आसान साइड स्क्रॉलिंग गेम बनाने की कोशिश कर रहा हूं। मैं इसे बनाने के तरीके के साथ आया लेकिन मुझे नहीं लगता कि यह सबसे सुंदर समाधान है। मैं अपने खेल को कार्यान्वित करने के तरीके पर कुछ अलग विचार प्राप्त करना चाहता था, क्योंकि मेरे पास वास्तव में कोई अन्य समाधान नहीं है।एंड्रॉइड पर जावा साइड स्क्रॉलिंग गेम

यह ऐसे काम करता की एक त्वरित विवरण ..

मैं मूल रूप से ब्लॉक या वस्तुओं स्क्रीन के ऊपर से गिर नहीं है। ब्लॉक को एक पूर्व-परिभाषित स्ट्रिंग से परिभाषित किया गया है जिसे मैं कस्टम 'मैप-एडिटर' का उपयोग करके बना देता हूं।

मैं संकलन समय पर सभी ब्लॉक बना देता हूं, उन्हें स्क्रीन पर या बंद करता हूं और गैमेलोप के प्रत्येक पुनरावृत्ति के साथ अपने समन्वय को बढ़ाता हूं।

यह वास्तव में थोड़ा बेहतर होता है, लेकिन यह मूल विचार पर एक संक्षिप्त आसान स्पष्टीकरण देता है।

मैंने कुछ लोगों से सुना है कि प्रत्येक ब्लॉक स्थिति में वृद्धि करने के बजाय, ब्लॉक वहां रहते हैं और केवल देखने योग्य क्षेत्र को बदलते हैं। यह समझ में आता है, लेकिन मुझे नहीं पता कि यह कैसे करना है।

क्या कोई इस तरह कुछ कार्यान्वित कर सकता है इस पर कुछ विचार या लिंक साझा कर सकता है? मुझे पता है कि मेरा वर्तमान समाधान सबसे महान नहीं है।

धन्यवाद!

उत्तर

7

एंड्रॉइड पर गेम प्रोग्रामिंग के लिए रस्सियों को सीखने के लिए मैं आपको पिछले वर्ष से Google I/O 2009 - Writing Real-Time Games for Android आई/ओ सत्र और 2010 सत्रों में से this पर इंगित करता हूं।

लोग आपको देखने योग्य क्षेत्र को बदलने के बारे में बता रहे हैं शायद यह मानते हुए कि आप OpenGL ES का उपयोग कर रहे हैं, जो शायद आप नहीं हो सकते हैं, लेकिन शायद विचार करना चाहिए।

+0

ये महान लिंक हैं, बहुत बहुत धन्यवाद – hanesjw

3

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

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

अच्छा सवाल, यद्यपि!

संपादित करें:

अपनी टिप्पणी के बाद, और मैं अपने अन्य प्रश्न Problem decrementing in Java with '-=' देखा; मुझे लगता है कि मैं आपके प्रश्न को थोड़ा बेहतर समझता हूं - एक मुख्य बिंदु जिसे मैं बदलता हूं, एक डिजाइन बिंदु से, एक बार में सभी को बनाने के बजाय आवश्यकतानुसार ब्लॉक बनाना होगा। दूसरे शब्दों में, स्क्रीन पर दिखाई देने से पहले फ्रेम पर ब्लॉक बनाएं और, जब वे स्क्रीन से बाहर हों, तो उन्हें हटा दें। जब तक गेम डिज़ाइन एक बड़ी लगातार दुनिया के लिए कॉल नहीं करता है, लेकिन यह उस तरह के गेम की तरह नहीं लगता है। क्या खिलाड़ी बैकट्रैक कर सकता है, या आप केवल एक तरफा स्क्रॉलिंग की अनुमति देते हैं?

+0

उत्तर के लिए धन्यवाद। गेम का मूल बेवकूफ विचार यह है कि आपके पास एक चरित्र है, ब्लॉक गिरते हैं और आप चरित्र को स्थानांतरित करके उन्हें चकमा देने की कोशिश करते हैं। तो ब्लॉक स्वतंत्र हैं। मुझे लगता है कि टकराव का पता लगाने के लिए मुझे उन सभी का स्थान रखना होगा। तो शायद मुझे सही विचार है। – hanesjw

3

प्रतिकृति द्वीप (http://code.google.com/p/replicaisland/) एक ओपन सोर्स जंप & एंड्रॉइड पर गेम चलाएं। (यह उस व्यक्ति से है जिसने लेखन वास्तविक समय वार्ता की है) शायद आप इससे कुछ अच्छे विचार प्राप्त कर सकते हैं।

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