अपने गेम के लिए सरल स्क्रीन मेनू के रूप में कार्य करने के लिए अलग-अलग दृश्यों में कस्टम बटन प्रदर्शित करना सीखें।

चाबी छीनना

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

कस्टम मेनू आपके गोडोट गेम की सहभागिता और उपयोगकर्ता अनुभव को काफी बढ़ा सकते हैं। सहज और दृश्य रूप से आकर्षक मेनू बनाकर, आप खिलाड़ियों को आसान नेविगेशन और विभिन्न गेम सुविधाओं तक त्वरित पहुंच प्रदान कर सकते हैं।

सौभाग्य से, गोडोट नियंत्रण नोड्स का उपयोग करके कस्टम यूआई मेनू बनाने के लिए एक शक्तिशाली टूलसेट प्रदान करता है।

गोडोट गेम की स्थापना

आरंभ करने के लिए, एक 2डी गेम दृश्य बनाएं गोडोट गेम इंजन. एक जोड़ना काइनेमैटिकबॉडी2डी खिलाड़ी के चरित्र के लिए नोड और संलग्न करें

CollisionShape2D इसमें नोड, एक आयताकार आकार परिभाषित करें जो खिलाड़ी के टकराव क्षेत्र का प्रतिनिधित्व करता है।

इस आलेख में प्रयुक्त कोड इसमें उपलब्ध है गिटहब रिपॉजिटरी और यह आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए निःशुल्क है।

इसके अतिरिक्त, एक शामिल करें स्प्राइट2डी खिलाड़ी के चरित्र को दृश्य रूप से प्रदर्शित करने के लिए नोड। प्लेयर मूवमेंट को सक्षम करने के लिए नीचे एक जीडीस्क्रिप्ट कोड स्निपेट है:

KinematicBody2D का विस्तार करता है

स्थिरांक गति = 200
स्थिरांक गुरुत्वाकर्षण = 500
वर वेग = वेक्टर2.शून्य

func _भौतिकी_प्रक्रिया (डेल्टा):
वर move_direction = 0

अगर Input.is_action_pressed("ui_right"):
move_direction += 1

अगर Input.is_action_pressed("ui_left"):
move_direction -= 1

वेग.x = move_direction * गति
वेग.y += गुरुत्वाकर्षण * डेल्टा
वेग = move_and_slide (वेग, वेक्टर2.यूपी)

इस कोड में, एक स्थिरांक परिभाषित करें रफ़्तार खिलाड़ी की गति को नियंत्रित करने के लिए। उपयोगकर्ता इनपुट और कॉल के जवाब में वेग चर को अपडेट करें move_and_slide() टकरावों और खेल की गंभीरता को ध्यान में रखते हुए खिलाड़ी को स्थानांतरित करना।

एक स्टार्ट मेनू बनाएं

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

उसके बाद, कंट्रोल नोड के चाइल्ड के रूप में एक बटन नोड जोड़ें। बटन का टेक्स्ट इस पर सेट करें खेल खेलना. के लिए कस्टम कोड लिखें खेल खेलना इसकी कार्यक्षमता को संभालने के लिए बटन:

नियंत्रण बढ़ाता है

func _रेडी():
वर प्लेबटन = $बटन
प्लेबटन.कनेक्ट("दब गया", खुद, "_ऑन_प्लेबटन_दबाया गया")

func _on_PlayButton_pressed():
# गेम सीन लोड करें
var गेमसीन = प्रीलोड("res://GameScene.tscn")

# खेल के दृश्य में संक्रमण
get_tree().change_scene (गेमसीन)

यह कोड जोड़ता है दब गया का संकेत प्ले बटन तक _ऑन_प्लेबटन_दबाया गया समारोह। वह फ़ंक्शन गेम दृश्य का उपयोग करके लोड करता है प्रीलोड() और इसका एक उदाहरण बनाता है। इसके बाद इसका उपयोग होता है परिवर्तन_दृश्य() खेल के दृश्य में संक्रमण के लिए.

इसी तरह, आप एक जोड़ सकते हैं बाहर निकलना वह बटन जिसका उपयोग खिलाड़ी खेल छोड़ने के लिए कर सकते हैं:

func _रेडी():
वर प्लेबटन = $बटन
वर एग्ज़िटबटन = $बटन2
प्लेबटन.कनेक्ट("दब गया", खुद, "_ऑन_प्लेबटन_दबाया गया")
एग्ज़िटबटन.कनेक्ट("दब गया", खुद, "_on_ExitButton_pressed")

func _on_ExitButton_pressed():
# खेल छोड़ें
get_tree().छोड़ें()

यह कोड जोड़ता है दब गया को निकास बटन का संकेत _on_ExitButton_दबाया गया समारोह। वह फ़ंक्शन कॉल करता है छोड़ना() खेल से बाहर निकलने के लिए.

पॉज़ मेनू बनाएं

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

दृश्य को मुख्य गेम के चाइल्ड नोड के रूप में जोड़ें। नियंत्रण नोड से जुड़ी स्क्रिप्ट में, निम्नलिखित कोड जोड़ें:

नियंत्रण बढ़ाता है

func _रेडी():
$btnResume.connect("दब गया", खुद, "_ऑन_रेज़्यूमे_बटन_दबाया गया")
$btnHome.connect("दब गया", खुद, "_मेनू_बटन_दबाया गया")
$btnExit.connect("दब गया", खुद, "_बाहर_निकास_बटन_दबाया गया")
पॉज़_मोड = नोड. रोकें_मोड_प्रक्रिया
get_tree().रोका गया = गलत
स्वयं.छिपाएँ()

func _इनपुट (इवेंट):
अगर इवेंट.is_action_pressed("ui_रद्द करें"):
अगरनहीं self.is_visible_in_tree():
# जब पॉज़ मेनू दिखाई न दे तो गेम रोकें
स्व.दिखाएँ()
get_tree().रोका गया = सत्य
अन्य:
# जब पॉज़ मेनू पहले से ही दिखाई दे तो गेम को अनपॉज़ करें
स्वयं.छिपाएँ()
get_tree().रोका गया = गलत

func _on_resume_button_pressed():
# पॉज़ मेनू छुपाएं और गेम फिर से शुरू करें
स्वयं.छिपाएँ()
get_tree().रोका गया = गलत

func _on_menu_button_pressed():
# मुख्य मेनू पर लौटें
get_tree().change_scene("res://StartMenu.tscn")

func _on_exit_button_pressed():
# खेल छोड़ें
get_tree().छोड़ें()

में _तैयार() फ़ंक्शन, कनेक्ट करें दब गया उनके संबंधित कार्यों के लिए बायोडाटा, होम और निकास बटन का संकेत: _ऑन_रेज़्यूमे_बटन_दबाया गया(), _ऑन_मेनू_बटन_दबाया गया(), और _on_exit_button_pressed().

ठीक रोकें_मोड नोड का नोड. रोकें_मोड_प्रक्रिया. यह पॉज़ मेनू दिखाई देने पर गेम को चालू रखने की अनुमति देता है। डिफ़ॉल्ट रूप से, पॉज़ मेनू का उपयोग करके छिपाएँ स्वयं.छिपाएँ() और सेट करें get_tree().रोका गया को असत्य यह सुनिश्चित करने के लिए कि खेल प्रारंभ में रोका न जाए।

अगला, एक if कथन का उपयोग करें में _इनपुट (घटना) यह जाँचने के लिए कार्य करें कि क्या ui_रद्द करें कार्रवाई दबा दी गई है. यदि पॉज़ मेनू वर्तमान में दिखाई नहीं दे रहा है, तो आप पॉज़ मेनू और सेटिंग दिखाकर गेम को रोक सकते हैं get_tree().रोका गया को सत्य.

स्क्रीन पर एक गेम बनाएं

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

गोडोट में एक नया दृश्य खोलें और दृश्य के मूल के रूप में एक नियंत्रण नोड जोड़ें। नियंत्रण नोड के अंदर, प्रदर्शित करने के लिए एक लेबल नोड जोड़ें खेल खत्म मूलपाठ। अपने गेम की दृश्य शैली के अनुसार लेबल का फ़ॉन्ट, आकार और रंग अनुकूलित करें।

इसके बाद, के लिए बटन नोड्स जोड़ें फिर से चालू करें और बाहर निकलना विकल्प. उन्हें स्क्रीन पर उचित रूप से रखें।

क्लिक करने पर होने वाली क्रियाओं को संभालने के लिए बटन सिग्नल को उनके संबंधित कार्यों से कनेक्ट करें। उदाहरण के लिए, कनेक्ट करें फिर से चालू करें बुलाए गए फ़ंक्शन का बटन onPlayAgainPressed और यह बाहर निकलना बुलाए गए फ़ंक्शन का बटन onExitPressed.

बटन की कार्यक्षमता को संभालने के लिए, आपको गेम ओवर सीन के जीडीस्क्रिप्ट कोड में संबंधित फ़ंक्शन को परिभाषित करने की आवश्यकता है। यहाँ एक उदाहरण है:

नियंत्रण बढ़ाता है

func _रेडी():
$बटन.कनेक्ट("दब गया", खुद, "ऑनप्लेअगेनप्रेस्ड")
$Button2.connect("दब गया", खुद, "ऑनएग्जिटप्रेस्ड")

func onPlayAgainPressed():
वर गेमसीनपाथ = "res://GameScene.tscn"
get_tree().change_scene (gameScenePath)

func onExitPressed():
get_tree().छोड़ें() # गेम एप्लिकेशन बंद करें

एक बार जब आप सेट कर लें गेमओवर.tscn दृश्य और आवश्यक बटन कार्यक्षमता को परिभाषित करने के बाद, आप गेम को स्क्रीन पर प्रदर्शित करने के लिए मुख्य गेम दृश्य में निम्नलिखित कोड का उपयोग कर सकते हैं:

KinematicBody2D का विस्तार करता है

func _भौतिकी_प्रक्रिया (डेल्टा):
# जांचें कि क्या खिलाड़ी ने स्क्रीन की सीमाएं पार कर ली हैं
var screen_size = get_viewport_rect().size
अगर वेग.y > screen_size.y या वेग.y < 0:
show_game_over_screen()

func शो_गेम_ओवर_स्क्रीन():
get_tree().change_scene("res://GameOver.tscn")

गेम ओवर स्क्रीन कुछ इस तरह दिखाई देगी, जिसमें खिलाड़ी को पुनरारंभ करने या छोड़ने के लिए बटन होंगे:

अतिरिक्त सुविधाओं सहित

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

एनिमेटेड बदलाव

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

ध्वनि प्रभाव

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

गोडोट का अंतर्निर्मित ऑडियो सिस्टम उचित समय पर ध्वनि बजाना आसान बनाता है।

दृश्यात्मक प्रभाव

अपने मेनू में दृश्य प्रभाव जोड़ने के लिए शेडर्स या पार्टिकल सिस्टम का उपयोग करें। उदाहरण के लिए, आप चयनित बटनों पर सूक्ष्म चमक प्रभाव लागू कर सकते हैं या कण प्रभाव बना सकते हैं जो कुछ मेनू क्रियाएं होने पर ट्रिगर हो जाते हैं। ये प्रभाव आपके यूआई में एक परिष्कृत और गहन अनुभव जोड़ सकते हैं।

पार्श्व संगीत

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

स्थानीयकरण समर्थन

यदि आप अपने गेम का कई भाषाओं में अनुवाद करने की योजना बना रहे हैं, तो अपने यूआई मेनू में स्थानीयकरण समर्थन जोड़ने पर विचार करें।

चयनित भाषा के आधार पर लेबल और बटन की पाठ्य सामग्री को गतिशील रूप से बदलने के लिए एक तंत्र प्रदान करें। गोडोट के स्थानीयकरण उपकरण और संसाधन बहुभाषी यूआई तत्वों को प्रबंधित करने में सहायता कर सकते हैं।

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

कस्टम यूआई मेनू के साथ गोडोट गेम्स को और अधिक आकर्षक बनाना

कस्टम यूआई मेनू खिलाड़ी सहभागिता में महत्वपूर्ण भूमिका निभा सकते हैं। वे सहज ज्ञान युक्त नेविगेशन प्रदान करते हैं, गेम सुविधाओं तक आसान पहुंच की अनुमति देते हैं, और आपके गेम की समग्र दृश्य अपील को बढ़ाते हैं।

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