एक बात है जो मुझे हैरान कर रही है, और वह यह है कि एक प्लेटफ़ॉर्मर में 'अशुद्ध-आवेगित' छलांग को कैसे लागू किया जाए। अगर आप नहीं जानते कि मैं किस बारे में बात कर रहा हूं, तो गुफा स्टोरी से मारियो, किर्बी और कोट्स के बारे में सोचें। उन दोनों में क्या समान है? खैर, आपके कूदने की ऊंचाई निर्धारित की जाती है कि आप कितनी देर तक जंप बटन दबाए रखेंगे।
यह जानते हुए कि इन चरित्रों के 'आवेग' उनके कूदने से पहले नहीं बने हैं, जैसा कि वास्तविक भौतिकी में है, बल्कि मध्य-वायु में है - अर्थात, आप अपनी उंगली को अधिकतम ऊँचाई के मध्य में बहुत अच्छी तरह से उठा सकते हैं और यह रुक जाएगा, भले ही साथ इसके और पूर्ण विराम के बीच अवरोह; यही कारण है कि आप बस एक हॉप के लिए टैप कर सकते हैं और इसे एक लंबी छलांग के लिए पकड़ सकते हैं -, मैं इस बात से मंत्रमुग्ध हूं कि वे कैसे अपने ट्रैजेटरीज को आर्क्स के रूप में रखते हैं।
मेरा वर्तमान कार्यान्वयन निम्नानुसार काम करता है:
जबकि जंप बटन दबाया जाता है, गुरुत्वाकर्षण बंद हो जाता है और गुरुत्वाकर्षण के निरंतर मान से अवतार का Y निर्देशांक घट जाता है। उदाहरण के लिए, यदि चीजें Z इकाइयों के प्रति टिक पर गिरती हैं, तो यह Z इकाइयों के प्रति टिकट में वृद्धि होगी।
एक बार जब बटन जारी किया जाता है या सीमा समाप्त हो जाती है, तो अवतार एक ऐसी राशि में उतरता है जो इसकी गति 0 तक पहुंचने तक एक्स इकाइयों को कवर करेगा; एक बार ऐसा होने पर, यह तब तक तेज हो जाता है जब तक कि इसकी गति गुरुत्वाकर्षण से मेल नहीं खाती - उदाहरण से चिपके हुए, मैं कह सकता हूं कि यह 0 से Z इकाइयों तक तेजी लाता है / अभी भी एक्स इकाइयों को कवर करते हुए टिक करता है।
यह कार्यान्वयन, हालांकि, कूदता को बहुत अधिक विकट बनाता है, और जब तक कि अवतार की गति गुरुत्वाकर्षण से तेज नहीं होती है, जो मेरी वर्तमान परियोजना में बहुत तेजी से आगे बढ़ेगा (यह लगभग 4 पिक्सेल प्रति टिक पर चलता है और गुरुत्वाकर्षण 10 पिक्सल प्रति टिक है,) 40FPS का एक फ्रेमरेट), यह इसे क्षैतिज से अधिक ऊर्ध्वाधर भी बनाता है। प्लेटफ़ॉर्मर्स से परिचित लोगों ने नोटिस किया कि चरित्र का चाप लगभग हमेशा कूदने की अनुमति देता है, भले ही वे खेल के गुरुत्वाकर्षण के रूप में तेज़ न हों, और जब यह सही नहीं खेला जाता है, तो यह खुद को साबित करेगा बहुत काउंटर-सहज ज्ञान युक्त। मैं यह जानता हूं क्योंकि मैं यह जान सकता था कि मेरा कार्यान्वयन बहुत कष्टप्रद है।
क्या कभी किसी ने इसी तरह के मैकेनिक्स में प्रयास किया है, और शायद सफल भी हुआ है? मैं जानना चाहता हूं कि इस तरह के प्लेटफ़ॉर्मर कूदने के पीछे क्या है। यदि आपके पास पहले से कोई अनुभव नहीं है और आप इसे छोड़ देना चाहते हैं, तो कृपया, मेरे समझाया कार्यान्वयन को सही करने या बढ़ाने की कोशिश न करें, जब तक कि मैं सही तरीके से नहीं था - अपना समाधान बनाने की कोशिश करें खरोंच। मुझे परवाह नहीं है अगर आप गुरुत्वाकर्षण, भौतिकी या whatnot का उपयोग करते हैं, जब तक यह दिखाता है कि ये छद्म आवेग कैसे काम करते हैं, यह काम करता है।
इसके अलावा, मैं एक भाषा-विशेष कोडिंग से बचने के लिए इसकी प्रस्तुति चाहूंगा; जैसे, हमें C ++ उदाहरण, या डेल्फी साझा करना ... जितना मैं अपनी परियोजना के लिए XNA फ्रेमवर्क का उपयोग कर रहा हूं और C # सामान का बुरा नहीं मानूंगा, मेरे पास अन्य कोड पढ़ने के लिए अधिक धैर्य नहीं है, और मैं अन्य भाषाओं के कुछ गेम डेवलपर्स को इसमें रुचि होगी कि हम यहां क्या हासिल करते हैं, इसलिए छद्म कोड से चिपके रहना बुरा नहीं है।
पहले से शुक्रिया।