आर्केड लाइब्रेरी के कीबोर्ड और माउस इवेंट्स के साथ प्लेयर इनपुट के जवाब में अपने मुख्य चरित्र को आगे बढ़ाएं।

आर्केड एक लोकप्रिय पायथन लाइब्रेरी है जिसका उपयोग आप 2डी आर्केड गेम बनाने के लिए कर सकते हैं। यह उपयोग में आसान पुस्तकालय है जो पायथन के साथ गेम बनाने के लिए एक सरल ढांचा प्रदान करता है।

किसी भी खेल के आवश्यक घटकों में से एक खिलाड़ी की चाल है।

आर्केड में एक साधारण गेम बनाना

आप पूरा पा सकते हैं इस GitHub रेपो में कोड.

शुरू करने से पहले, सुनिश्चित करें कि आपके पास है आपके डिवाइस पर पाइप स्थापित है. आर्केड लाइब्रेरी को स्थापित करने के लिए इस कमांड का प्रयोग करें:

पिप पुस्तकालय स्थापित करें

उसके बाद, प्लेयर क्लास को उप-वर्ग के रूप में बनाएं आर्केड। प्रेत वर्ग, और ए मेरा खेल वर्ग के एक उपवर्ग के रूप में आर्केड। खिड़की. मेरा खेल क्लास में गेम ऑब्जेक्ट्स को सेट करने, उन्हें स्क्रीन पर रेंडर करने, गेम स्टेट को अपडेट करने और यूजर इनपुट को हैंडल करने के तरीके होंगे। गेम स्क्रीन और प्लेयर ऑब्जेक्ट बनाने का कोड इस प्रकार है:

आयात आर्केड

स्क्रीन_WIDTH = 800
स्क्रीन_हाइट = 600

कक्षाखिलाड़ी(आर्केड। स्प्राइट):

instagram viewer

डीईएफ़__इस में__(खुद):
सुपर ().__init__("प्लेयर.पीएनजी", 0.5)
self.center_x = SCREEN_WIDTH // 2
Self.center_y = SCREEN_HEIGHT // 2

कक्षामेरा खेल(आर्केड। खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, "मेरा खेल")
स्वयं खिलाड़ी = कोई नहीं
आर्केड.सेट_बैकग्राउंड_कलर (आर्केड.रंग। काला)

डीईएफ़स्थापित करना(खुद):
सेल्फ.प्लेयर = प्लेयर ()

डीईएफ़on_draw(खुद):
आर्केड. start_render ()
सेल्फ.प्लेयर.ड्रा ()

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
उत्तीर्ण

MyGame ()। रन ()

कीबोर्ड इनपुट के साथ प्लेयर मूवमेंट जोड़ना

अब जब आपने गेम स्क्रीन और प्लेयर ऑब्जेक्ट बना लिया है, तो आप कीबोर्ड इनपुट के जवाब में प्लेयर को स्थानांतरित कर सकते हैं। को परिभाषित करो on_key_press () और on_key_release () विधियाँ, जिन्हें आप तब कहेंगे जब खिलाड़ी कुंजी दबाएगा या रिलीज़ करेगा।

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं:
सेल्फ.प्लेयर.चेंज_एक्स = -5
elif कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर.चेंज_एक्स = 5
elif कुंजी == आर्केड.की। ऊपर:
सेल्फ.प्लेयर.चेंज_वाई = 5
elif कुंजी == आर्केड.की। नीचे:
सेल्फ.प्लेयर.चेंज_वाई = -5

डीईएफ़on_key_release(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं या कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर.चेंज_एक्स = 0
elif कुंजी == आर्केड.की। ऊपर या कुंजी == आर्केड.की। नीचे:
सेल्फ.प्लेयर.चेंज_वाई = 0

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

माउस इनपुट के साथ प्लेयर मूवमेंट जोड़ना

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

डीईएफ़on_mouse_motion(स्वयं, एक्स, वाई, डीएक्स, डाई):
सेल्फ.प्लेयर.सेंटर_एक्स = एक्स
सेल्फ.प्लेयर.सेंटर_वाई = वाई

माउस इनपुट के साथ प्लेयर मूवमेंट जोड़ते समय, आप प्लेयर ऑब्जेक्ट के व्यवहार को कस्टमाइज़ कर सकते हैं जब उपयोगकर्ता क्लिक करता है या अपने माउस को नीचे रखता है जैसे कि परिभाषित तरीके on_mouse_press () या on_mouse_drag (). गेम मैकेनिक्स के आधार पर, आप शूटिंग या कूदने जैसी खिलाड़ी क्रियाओं को ट्रिगर करने के लिए इन विधियों का उपयोग कर सकते हैं।

अतिरिक्त सुविधाओं का परिचय

आप त्वरण और मंदी को ध्यान में रखकर खिलाड़ी की गति को और बढ़ा सकते हैं। संशोधित करें on_key_press () घटाने या जोड़ने की विधि change_x और change_y आंदोलन की दिशा के आधार पर खिलाड़ी वस्तु के गुण। भी सेट करें change_x और change_y 0 में गुण on_key_release () विधि, पहले की तरह।

डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं:
सेल्फ.प्लेयर.चेंज_एक्स -= 5
elif कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर.चेंज_एक्स += 5
elif कुंजी == आर्केड.की। ऊपर:
सेल्फ.प्लेयर.चेंज_य += 5
elif कुंजी == आर्केड.की। नीचे:
सेल्फ.प्लेयर.चेंज_य -= 5

डीईएफ़on_key_release(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.की। बाएं या कुंजी == आर्केड.की। सही:
सेल्फ.प्लेयर.चेंज_एक्स = 0
elif कुंजी == आर्केड.की। ऊपर या कुंजी == आर्केड.की। नीचे:
सेल्फ.प्लेयर.चेंज_वाई = 0

बिल्कुल PyGame की तरह, आप भी कर सकते हैं प्लेयर ऑब्जेक्ट के बीच टकराव का पता लगाने को जोड़ें और अन्य खेल वस्तुएं, जैसे कि दुश्मन या आर्केड में बाधाएं। आप इसे निम्नलिखित कोड जोड़कर प्राप्त कर सकते हैं अद्यतन() की विधि मेरा खेल कक्षा:

डीईएफ़अद्यतन(स्वयं, डेल्टा_टाइम):
सेल्फ.प्लेयर.अपडेट ()

# खिलाड़ी और अन्य खेल वस्तुओं के बीच टकराव की जाँच करें
टक्कर = आर्केड.check_for_collision_with_list (सेल्फ.प्लेयर, सेल्फ.एनमी_लिस्ट)

के लिए टक्कर में टक्कर:
टक्कर मार ()

इंटरएक्टिव प्लेयर मूवमेंट के साथ एंगेजिंग गेम्स बनाएं

इंटरएक्टिव प्लेयर मूवमेंट किसी भी आकर्षक गेम का एक महत्वपूर्ण पहलू है। कूदने, दौड़ने, उड़ने और फिसलने जैसे विभिन्न प्रकार के गति यांत्रिकी का उपयोग खेल में विविधता और उत्साह जोड़ सकता है।

खिलाड़ियों को उनके आंदोलन पर नियंत्रण देने से एजेंसी और विसर्जन की भावना जुड़ती है, जिससे गेमिंग का अधिक संतोषजनक अनुभव हो सकता है।