टच डिवाइस पर 2D प्लेटफ़ॉर्मर के लिए उपयोग करने के लिए एक उपयुक्त इनपुट विधि क्या है?


16

मैं सुपर मीट बॉय जैसा 2 डी प्लेटफ़ॉर्मर गेम बना रहा हूं जिसमें मेरे लीड कैरेक्टर के मूवमेंट की सटीकता है। मैं libgdx का उपयोग कर रहा हूं। पीसी पर कीबोर्ड ठीक से काम करता है, लेकिन जब एक्सेलेरोमीटर हैंडलिंग की बात आती है, तो चरित्र को ठीक से संभालना वास्तव में कठिन होता है। यह भीड़भाड़ वाले सुरक्षित रास्तों से बचने के लिए चरणों में खराब हो जाता है। मैंने इनपुट से निपटने के लिए ऑन-स्क्रीन एनालॉग बॉल को लागू करने के बारे में सोचा, लेकिन इंटरनेट पर इसके कई बुरे परिणाम पढ़े।

स्पर्श उपकरणों पर प्लेटफ़ॉर्म गेम के लिए उपयोग करने के लिए एक सहज लेकिन सटीक इनपुट विधि क्या है ?

जवाबों:


7

एक शब्द में: स्वाइप करना।

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

ऊपर जाने के लिए, ऊपर स्वाइप करें। नीचे जाने के लिए नीचे स्वाइप करें। बाईं ओर जाने के लिए, बाईं ओर स्वाइप करें। सही करने के लिए, दाईं ओर स्वाइप करें।

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

अपडेट करें

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

पचमन स्वाइपिंग

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

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


4

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

संपादित करें: स्टीम कंट्रोलर एक ट्रैक किए गए ट्रैकबॉल की तरह अपने ट्रैकपैड को संभालता है, लेकिन मैंने एक गेम खोजने के लिए पर्याप्त प्रयोग नहीं किया है जो इसे एक जैसा व्यवहार करता है।


मैं वास्तव में इस जवाब को पसंद करता हूं क्योंकि यह बॉक्स के बाहर की तरह की सोच है। अगर कोई इसे लागू करता है तो मैं बहुत उत्सुक होऊंगा कि यह वास्तव में कितना अच्छा है।
स्पार्टनडोनट

2

मुझे साइड-ऑफ़-स्क्रीन टच और होल्ड कंट्रोल सबसे अधिक संवेदनशील लगे।

यदि व्यक्ति बाईं ओर छूता है, तो बाएं चलाएं (जब तक कि वह जाने न दे)। यदि व्यक्ति दाईं ओर स्पर्श करता है, तो दाईं ओर चलाएँ।

RunRunRiot! इसका एक उदाहरण है।

कूदने के लिए के रूप में, आप एक मध्य-स्क्रीन टैप (दोनों हाथों का उपयोग करके) के लिए जा सकते हैं।

उदाहरण (लैंडस्केप आईपैड) रनिंग राइट

______________
|            |
|            |
|            |
|___________R|

कूदना सही

______________
|            |
|L*          |
|            |
|___________R|

(एल * = बाएं टैप)

कूदना छोड़ दिया

______________
|            |
|          R*|
|            |
|L___________|

1

टच स्क्रीन गेम के लिए सबसे अच्छा इनपुट मुझे मिला है जो वास्तव में सरल प्लेटफ़ॉर्म गेम पर है जब आपको बस इतना करना है कि कूदने के लिए स्क्रीन को स्पर्श करें! कोई भी गेम जो मेरे लिए आंदोलन इनपुट के लिए एक्सेलेरोमीटर का उपयोग करता है, बहुत भटकाव है!

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

हो सकता है कि आपके पास स्क्रीन के बाईं और सबसे दाईं ओर बाईं और दाईं ओर इनपुट हो और बाएं या दाएं इनपुट के उच्च या निचले हिस्से का उपयोग करके ऊपर और नीचे हो। मुझे लगता है कि समझ में आता है?


1

आप अधिक सटीक नियंत्रण रखने पर विचार कर सकते हैं केवल जब खिलाड़ी चरित्र हवाई हो।

उदाहरण के लिए, यदि स्क्रीन के दाईं ओर पार्श्व दिशा नियंत्रित है, तो आप बाईं ओर की संपूर्णता कूदने के लिए हो सकते हैं। एक बार एयरबोर्न, स्क्रीन के निचले आधे हिस्से को 'नीचे' लाया जा सकता है और शीर्ष आधा डबल कूद हो सकता है।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.