आर्केड के जीयूआई टूल का उपयोग करके आसानी से गेम मेनू बनाना और यूजर इंटरफेस डिजाइन करना सीखें।
गेम मेनू और यूजर इंटरफेस (यूआई) गेम के उपयोगकर्ता अनुभव और जुड़ाव को बढ़ाने में महत्वपूर्ण भूमिका निभाते हैं। आर्केड, खेल विकास के लिए एक लोकप्रिय पायथन लाइब्रेरी, शक्तिशाली जीयूआई (ग्राफिकल यूजर इंटरफेस) उपकरण प्रदान करती है जो गेम मेनू और यूआई तत्वों को डिजाइन और कार्यान्वित करना आसान बनाती है।
एक सरल गेम बनाएं
शुरू करने से पहले, सुनिश्चित करें कि आपके पास है आपके डिवाइस पर पाइप इंस्टॉल हो गया है. आर्केड लाइब्रेरी स्थापित करने के लिए इस कमांड का उपयोग करें:
पिप इंस्टाल आर्केड
आर्केड का उपयोग करके एक सरल गेम बनाकर शुरुआत करें।
इस आलेख में प्रयुक्त कोड इसमें उपलब्ध है गिटहब रिपॉजिटरी और यह आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए निःशुल्क है।
इस गेम में एक खिलाड़ी वस्तु होगी जो बाएँ और दाएँ घूम सकती है और एक दुश्मन वस्तु होगी। यहाँ खेल के लिए कोड है:
आयात आर्केड
चौड़ाई = 800
ऊंचाई= 600
प्लेयर_स्पीड = 25कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(चौड़ाई, ऊंचाई, "सरल खेल")
self.player_x = चौड़ाई // 2
स्वयं.दुश्मन_x = चौड़ाई - 50
स्व.गेम_ओवर= असत्यडीईएफ़स्थापित करना(खुद):
आर्केड.सेट_बैकग्राउंड_रंग (आर्केड.रंग. सफ़ेद)डीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()
आर्केड.ड्रॉ_सर्कल_फिल्ड (स्वयं.प्लेयर_एक्स, ऊंचाई // 2, 20, आर्केड.रंग. नीला)
आर्केड.ड्रॉ_सर्कल_फिल्ड (स्वयं.दुश्मन_x, ऊंचाई // 2, 20, आर्केड.रंग. लाल)डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
स्वयं.दुश्मन_x += 0.5
अगर self.enemy_x >= चौड़ाई:
स्व.गेम_ओवर= सत्यडीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.कुंजी। बाएं:
self.player_x -= PLAYER_SPEED
एलिफ़ कुंजी == आर्केड.कुंजी। सही:
self.player_x += PLAYER_SPEED
खेल = खेल()
गेम.सेटअप()
आर्केड.रन()
स्क्रीन पर गेम जोड़ना
स्क्रीन पर एक गेम जोड़ें जो एक संदेश प्रदर्शित करता है दुश्मन गेम विंडो से बाहर चला जाता है. उपयोग आर्केड.गुई. यूआई प्रबंधक और आर्केड.गुई. यूआईमैसेजबॉक्स इसे प्राप्त करने के लिए कक्षाएं।
का एक उदाहरण बनाएं यूआई प्रबंधक और इसे सक्षम करें। के अंदर on_draw विधि, जांचें कि क्या खेल खत्म ध्वज सेट है, और यदि ऐसा है, तो यूआई प्रबंधक बनाएं। शो_गेम_ओवर_स्क्रीन विधि एक बनाती है यूआईमैसेजबॉक्स गेम-ओवर संदेश के साथ और इसे UI प्रबंधक में जोड़ता है। आप इसमें यूआई प्रबंधक को सक्षम और अक्षम भी कर सकते हैं अद्यतन खेल की स्थिति पर आधारित विधि।
नामक एक नई फ़ाइल बनाएँ गेम-over.py और नीचे दिए गए अपडेट के साथ कोड जोड़ें:
आयात आर्केड
से आर्केड.गुई आयात यूआईमैनेजर, यूआईमैसेजबॉक्सचौड़ाई = 800
ऊंचाई= 600
प्लेयर_स्पीड = 25कक्षाखेल(आर्केड. खिड़की):
डीईएफ़__इस में__(खुद):
सुपर().__init__(चौड़ाई, ऊंचाई, "सरल खेल")
self.player_x = चौड़ाई // 2
स्वयं.दुश्मन_x = चौड़ाई - 50
self.ui_manager = UIManager()
स्व.गेम_ओवर= असत्यडीईएफ़स्थापित करना(खुद):
आर्केड.सेट_बैकग्राउंड_रंग (आर्केड.रंग. सफ़ेद)
self.ui_manager.enable() # यूआई प्रबंधक सक्षम करेंडीईएफ़on_draw(खुद):
आर्केड.स्टार्ट_रेंडर()
आर्केड.ड्रॉ_सर्कल_फिल्ड (स्वयं.प्लेयर_एक्स, ऊंचाई // 2, 20, आर्केड.रंग. नीला)
आर्केड.ड्रॉ_सर्कल_फिल्ड (स्वयं.दुश्मन_x, ऊंचाई // 2, 20, आर्केड.रंग. लाल)
अगर स्वयं.गेम_ओवर:
self.ui_manager.draw()डीईएफ़अद्यतन(स्वयं, डेल्टा_समय):
स्वयं.दुश्मन_x += 0.5
अगर self.enemy_x >= चौड़ाई:
self.show_game_over_screen()
स्व.गेम_ओवर= सत्य
अगर स्वयं.गेम_ओवर:
self.ui_manager.enable()
अन्य:
self.ui_manager.disable()डीईएफ़on_key_press(स्वयं, कुंजी, संशोधक):
अगर कुंजी == आर्केड.कुंजी। बाएं:
self.player_x -= PLAYER_SPEED
एलिफ़ कुंजी == आर्केड.कुंजी। सही:
self.player_x += PLAYER_SPEEDडीईएफ़शो_गेम_ओवर_स्क्रीन(खुद):
संदेश_बॉक्स = UIMessageBox(
चौड़ाई=400,
ऊँचाई=200,
संदेश_पाठ="खेल खत्म!"
)
self.ui_manager.add (संदेश_बॉक्स)
खेल = खेल()
गेम.सेटअप()
आर्केड.रन()
नीचे आउटपुट है:
बटन जोड़ना
अब, गेम को पुनरारंभ करने या बाहर निकलने के लिए बटन जोड़कर स्क्रीन पर गेम को बेहतर बनाएं। आप इसका उपयोग करके इसे पूरा कर सकते हैं बटन का पैरामीटर यूआईमैसेजबॉक्स और बटन क्लिक को संभालने के लिए कॉलबैक फ़ंक्शन प्रदान करना।
नामक एक नई फ़ाइल बनाएँ बटन.पी.ई और नीचे दिए गए अपडेट के साथ कोड जोड़ें:
डीईएफ़शो_गेम_ओवर_स्क्रीन(खुद):
संदेश_बॉक्स = UIMessageBox(
चौड़ाई=400,
ऊँचाई=200,
संदेश_पाठ="खेल खत्म!",
बटन=("पुनः आरंभ करें", "बाहर निकलना"),
कॉलबैक=self.on_game_over_button_click
)
self.ui_manager.add (संदेश_बॉक्स)डीईएफ़ऑन_गेम_ओवर_बटन_क्लिक करें(स्वयं, बटन_टेक्स्ट):
अगर बटन_टेक्स्ट == "पुनः आरंभ करें":
self.restart_game()
एलिफ़ बटन_टेक्स्ट == "बाहर निकलना":
आर्केड.close_window()
डीईएफ़पुनः खेल प्रारंभ करें(खुद):
स्व.गेम_ओवर= असत्य
स्वयं.दुश्मन_x = चौड़ाई - 50
self.ui_manager.clear()
नीचे आउटपुट है:
में शो_गेम_ओवर_स्क्रीन विधि, दो बटन जोड़ें, पुनः आरंभ करें और बाहर निकलना, तक यूआईमैसेजबॉक्स में उन्हें निर्दिष्ट करके बटन पैरामीटर. कॉलबैक फ़ंक्शन भी प्रदान करें, ऑन_गेम_ओवर_बटन_क्लिक करें, बटन क्लिक को संभालने के लिए। कॉलबैक फ़ंक्शन के अंदर, जांचें कि कौन सा बटन क्लिक किया गया था और संबंधित कार्रवाई करें।
आर्केड के जीयूआई उपकरण विभिन्न प्रकार की अतिरिक्त सुविधाएँ प्रदान करते हैं जो आपके गेम मेनू और यूआई डिज़ाइन की कार्यक्षमता और अन्तरक्रियाशीलता को और बढ़ा सकते हैं। कुछ उदाहरण निम्नलिखित हैं:
यूआईड्रैगेबलमिक्सिन
यूआईड्रैगेबलमिक्सिन किसी भी यूआई विजेट को खींचने योग्य बनाने के लिए क्लास का उपयोग किया जा सकता है। यह ड्रैगिंग व्यवहार को संभालने के लिए कार्यक्षमता प्रदान करता है, जिससे उपयोगकर्ताओं को स्क्रीन के चारों ओर यूआई तत्वों को स्थानांतरित करने की अनुमति मिलती है। इस मिश्रण को अन्य यूआई विजेट के साथ संयोजित करने से आप अपने गेम में खींचने योग्य विंडो या पैनल बना सकते हैं।
UIMouseFilterMixin
UIMouseFilterMixin क्लास आपको एक विशिष्ट विजेट के भीतर होने वाली सभी माउस घटनाओं को पकड़ने में सक्षम बनाता है। यह विशेष रूप से विंडो-जैसे विजेट के लिए उपयोगी है जहां आप माउस घटनाओं को अंतर्निहित यूआई तत्वों को प्रभावित करने से रोकना चाहते हैं। माउस ईवेंट को फ़िल्टर करके, आप विजेट के भीतर स्वतंत्र रूप से इंटरैक्शन को नियंत्रित कर सकते हैं।
यूआईविंडोलाइकमिक्सिन
यूआईविंडोलाइकमिक्सिन क्लास विजेट को विंडो जैसा व्यवहार प्रदान करता है। यह विजेट की सीमाओं के भीतर होने वाली सभी माउस घटनाओं को संभालता है और विजेट को खींचने की अनुमति देता है। यह खींचने योग्य विंडो या पैनल बनाने के लिए आदर्श है, जिनके साथ उपयोगकर्ता आपके गेम में इंटरैक्ट कर सकते हैं।
सतह
सतह क्लास यूआई तत्वों को चित्रित करने के लिए एक बफर का प्रतिनिधित्व करता है। यह बफ़र पर ड्राइंग को अमूर्त करता है और स्क्रीन पर बफ़र को सक्रिय करने, साफ़ करने और खींचने के तरीके प्रदान करता है। आप इस क्लास का उपयोग अपने गेम में विजेट या कस्टम यूआई तत्वों को प्रस्तुत करने के लिए आंतरिक रूप से कर सकते हैं।
ये अतिरिक्त सुविधाएँ आपके गेम में अधिक इंटरैक्टिव और गतिशील उपयोगकर्ता अनुभव बनाने के अवसर प्रदान करती हैं। अद्वितीय कार्यक्षमता जोड़ने और अपने गेम मेनू और यूआई डिज़ाइन को विशिष्ट बनाने के लिए इन सुविधाओं के साथ प्रयोग करें।
जीयूआई को शामिल करने के लिए सर्वोत्तम अभ्यास
आर्केड का उपयोग करके अपने गेम में जीयूआई टूल शामिल करते समय, एक सहज और निर्बाध उपयोगकर्ता अनुभव सुनिश्चित करने के लिए कुछ सर्वोत्तम प्रथाओं का पालन करना महत्वपूर्ण है। यहां ध्यान रखने योग्य कुछ सुझाव दिए गए हैं:
योजना और प्रोटोटाइप
कार्यान्वयन में उतरने से पहले, अपने गेम मेनू और यूआई तत्वों की योजना बनाने और प्रोटोटाइप करने में समय व्यतीत करें। एक सुसंगत और उपयोगकर्ता के अनुकूल डिज़ाइन सुनिश्चित करने के लिए लेआउट, कार्यक्षमता और दृश्य सौंदर्यशास्त्र पर विचार करें।
इसे लगातार बनाए रखें
अपने गेम मेनू और यूआई तत्वों में एक सुसंगत दृश्य शैली और लेआउट बनाए रखें। यह उपयोगकर्ताओं को आपके गेम को अधिक आसानी से नेविगेट करने में मदद करता है और एक समेकित अनुभव प्रदान करता है।
उत्तरदायी आकार
अपने यूआई तत्वों को विभिन्न स्क्रीन आकारों और रिज़ॉल्यूशन के लिए उत्तरदायी और अनुकूलनीय बनाने के लिए डिज़ाइन करें। यह सुनिश्चित करता है कि आपके गेम मेनू और यूआई विभिन्न उपकरणों पर प्रयोग करने योग्य और आकर्षक बने रहें।
कुशल इवेंट हैंडलिंग
प्रतिक्रियाशील और सुचारू इंटरैक्शन सुनिश्चित करने के लिए उपयोगकर्ता इनपुट घटनाओं को कुशलतापूर्वक संभालें। अनावश्यक गणनाओं या ईवेंट प्रोसेसिंग से बचें जो यूआई प्रतिक्रिया में अंतराल या विलंब ला सकता है।
उपयोगकर्ता प्रतिसाद
जब उपयोगकर्ता आपके गेम मेनू और यूआई तत्वों के साथ इंटरैक्ट करें तो उन्हें स्पष्ट और तत्काल प्रतिक्रिया प्रदान करें। दृश्य संकेत, एनिमेशन, और गेम्स में ऑडियो फीडबैक उपयोगकर्ता अनुभव को बढ़ा सकता है और गेम को और अधिक परिष्कृत महसूस कराएं।
इन सर्वोत्तम प्रथाओं का पालन करके, आप ऐसे गेम मेनू और यूआई डिज़ाइन बना सकते हैं जो सहज और देखने में आकर्षक हों।
दिखने में आकर्षक यूआई के साथ उपयोगकर्ता जुड़ाव बढ़ाएँ
आपके गेम में GUI तत्व जोड़ने से न केवल उपयोगिता में सुधार होता है बल्कि दृश्य अपील और खिलाड़ियों की समग्र सहभागिता भी बढ़ती है। चाहे आप स्टार्ट मेनू, स्क्रीन पर गेम, या कोई अन्य यूआई तत्व बना रहे हों, आर्केड के जीयूआई उपकरण आपके गेम के उपयोगकर्ता अनुभव को बढ़ाने के लिए कई प्रकार की सुविधाएं और कार्यक्षमता प्रदान करते हैं।