मनमोहक एनिमेशन के साथ अपने गोडोट गेम के लिए एक गहन गेमप्ले वातावरण विकसित करें।

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

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

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

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

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

इसके अतिरिक्त, एक जोड़ें एनिमेटेडस्प्राइट प्लेयर के एनिमेशन को संभालने के लिए नोड। इसके अलावा, सुनिश्चित करें कि आप निम्नलिखित इनपुट क्रियाओं को अपने में मैप करें इनपुट मानचित्र:

instagram viewer

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

 KinematicBody2Dconst गति बढ़ाता है = 200func _physics_process (डेल्टा): var वेग = वेक्टर2.ZERO यदि Input.is_action_pressed("move_left"): वेग.x -= गति यदि Input.is_action_pressed("move_right"): वेग. move_and_slide (वेग)

यह स्क्रिप्ट खिलाड़ी के लिए एक स्थिर गति निर्धारित करती है और उन्हें तीर कुंजियों या WASD का उपयोग करके बाएँ, दाएँ, ऊपर और नीचे जाने की अनुमति देती है।

एनिमेटेडस्प्राइट में स्प्राइटशीट जोड़ना

अब, कॉन्फ़िगर करें एनिमेटेडस्प्राइट एनिमेशन के लिए स्प्राइट शीट का उपयोग करना। का चयन करें एनिमेटेडस्प्राइट नोड और नेविगेट करें फ्रेम्स नोड के गुण टैब में अनुभाग। यहां पर क्लिक करें नए स्प्राइटफ़्रेम्स बटन।

पर स्विच करें स्प्राइटफ़्रेम्स टैब गोडोट संपादक के नीचे स्थित है। में स्प्राइटफ़्रेम्स टैब पर क्लिक करें नया एनीमेशन बटन। जैसे एनिमेशन बनाएं टहलना और निठल्ला प्रत्येक एनीमेशन में उपयुक्त फ्रेम जोड़कर।

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

जीडीस्क्रिप्ट का उपयोग करके एनिमेशन को नियंत्रित करना

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

एनिमेशन चलाना और रोकना

आपके गेम में गतिशील और इंटरैक्टिव अनुभव प्रदान करने के लिए एनिमेशन के प्लेबैक को नियंत्रित करना आवश्यक है। एनिमेटेडस्प्राइट गोडोट में नोड आपके गेम लॉजिक के अनुसार एनिमेशन को चलाने और रोकने के तरीके प्रदान करता है।

विस्तार काइनेमैटिकबॉडी2डी नोड और एनीमेशन नियंत्रण को संभालें _भौतिकी_प्रक्रिया समारोह। आप इसका उपयोग कर सकते हैं प्ले_एनीमेशन और stop_animation संबंधित एनीमेशन क्रियाओं को ट्रिगर करने के लिए इनपुट।

 KinematicBody2Dfunc _physics_process (डेल्टा) का विस्तार करता है: # यदि Input.is_action_just_pressed("play_animation") तो एनीमेशन चलाएं: $AnimatedSprite.play() # यदि Input.is_action_just_pressed("stop_animation") तो एनीमेशन रोकें और पहले फ्रेम पर रीसेट करें: $AnimatedSprite.stop() $एनिमेटेडस्प्राइट.फ़्रेम = 0

उपयुक्त इनपुट क्रियाओं को मैप करके, आप खिलाड़ियों को अपने गेम में एनीमेशन प्लेबैक पर नियंत्रण प्रदान कर सकते हैं।

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

इसी तरह, आप ट्रिगर कर सकते हैं stop_animation एनीमेशन को पूरी तरह से रोकने के लिए कार्रवाई।

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

एनीमेशन को घुमाना

एनीमेशन को घुमाने से आपके गेम में दृश्य रुचि और विविधता आ सकती है। आप प्रोग्रामेटिक रूप से घुमा सकते हैं एनिमेटेडस्प्राइट एनीमेशन का ओरिएंटेशन बदलने के लिए नोड। आप इसका उपयोग करके डिग्री में रोटेशन लागू कर सकते हैं घुमाएँ() तरीका।

 KinematicBody2Dfunc _physics_process (डेल्टा) का विस्तार करता है: यदि Input.is_action_just_pressed("rotate_animation"): # एनीमेशन को 45 डिग्री तक दक्षिणावर्त घुमाएँ $AnimatedSprite.rotate (deg2rad (45))

जब आप इससे जुड़े बटन दबाते हैं रोटेट_एनीमेशन (आप इस क्रिया को अपने इनपुट मैप में परिभाषित कर सकते हैं), घुमाएँ() विधि को कहा जाता है एनिमेटेडस्प्राइट नोड. इसका उपयोग करके नोड को दक्षिणावर्त दिशा में 45 डिग्री तक घुमाया जाता है deg2rad() डिग्री को रेडियन में बदलने के लिए।

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

एनिमेशन फ़्लिप करना

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

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

 KinematicBody2Dfunc _physics_process (डेल्टा) का विस्तार करता है: यदि Input.is_action_just_pressed("flip_animation"): $AnimatedSprite.flip_h = true # या $AnimatedSprite.flip_v = लंबवत फ़्लिपिंग के लिए सत्य

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

एनिमेटेडस्प्राइट में सिग्नल का उपयोग

एनिमेशन को प्रोग्रामेटिक रूप से नियंत्रित करने के अलावा, गोडोट सिग्नल नामक एक शक्तिशाली इवेंट सिस्टम प्रदान करता है। सिग्नल आपको आपके गेम के निष्पादन के दौरान होने वाली विशिष्ट घटनाओं या परिवर्तनों पर प्रतिक्रिया देने की अनुमति देते हैं।

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

1. एनीमेशन_फिनिश्ड() सिग्नल

एनीमेशन_फिनिश्ड() सिग्नल तब उत्सर्जित होता है जब एनीमेशन अंतिम फ्रेम तक पहुंचता है, या तो एकल प्लेबैक के दौरान या जब यह लूप करता है। यह सिग्नल तब उपयोगी होता है जब आप एक्शन करना चाहते हैं या एनीमेशन पूरा होने पर इवेंट ट्रिगर करना चाहते हैं।

 KinematicBody2Dfunc _ready() को विस्तारित करता है: $AnimatedSprite.connect('animation_finished', self, "_on_animation_finished")func _on_animation_finished(): # क्रियाएं निष्पादित करें या ईवेंट ट्रिगर करें प्रिंट("एनीमेशन ख़त्म!") # अतिरिक्त कोड यहाँ...

कनेक्ट करें एनीमेशन_फिनिश्ड() का संकेत एनिमेटेडस्प्राइट तक _on_animation_finished() का उपयोग करके उसी स्क्रिप्ट में विधि जोड़ना() समारोह।

जब एनीमेशन चलना समाप्त हो जाता है, तो आप कस्टम तर्क निष्पादित कर सकते हैं या इसका उपयोग करके अन्य कार्यात्मकताओं को ट्रिगर कर सकते हैं _on_animation_finished() तरीका।

2. फ्रेम_चेंज्ड() सिग्नल

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

 KinematicBody2Dfunc _ready() को विस्तारित करता है: $AnimatedSprite.connect("frame_changed", self, "_on_frame_changed")func _on_frame_changed(): # वर्तमान फ़्रेम के आधार पर क्रियाएं करें var currentFrame = $AnimatedSprite.frame print('वर्तमान फ़्रेम:', currentFrame) # अतिरिक्त कोड यहाँ...

कनेक्ट करें फ़्रेम_परिवर्तित() का संकेत एनिमेटेडस्प्राइट तक _ऑन_फ़्रेम_चेंज्ड() एक ही स्क्रिप्ट में विधि. जब फ़्रेम बदलता है, तो आप इसका उपयोग करके वर्तमान फ़्रेम तक पहुंच सकते हैं _ऑन_फ़्रेम_चेंज्ड() विधि और फ़्रेम के मान के आधार पर क्रियाएं या तर्क निष्पादित करें।

संकेतों का उपयोग करके, आप एनीमेशन घटनाओं जैसे कि समापन या फ़्रेम परिवर्तन पर प्रतिक्रिया दे सकते हैं और गतिशील व्यवहार को शामिल कर सकते हैं या अपने गेम में विशिष्ट क्रियाओं को ट्रिगर कर सकते हैं।

एनिमेशन का उपयोग करके गोडोट गेम्स को और अधिक आकर्षक बनाएं

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

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