भाग 5: सिक्के और अंक जोड़ना
परिचय
जब भाग 4 पूरा हो गया है, तो आपके पास एक स्तर और खेलने योग्य चरित्र होना चाहिए जो दौड़ सके और कूद सके।
अब हमें अपने खिलाड़ी को एक उद्देश्य देना है। इस ट्यूटोरियल के भाग में, हम संग्रहणीय सिक्के और एक स्कोर जोड़ेंगे ताकि हम उन्हें ट्रैक कर सकें।
ब्लॉकों में छिपे सिक्के मारियो की सबसे प्रसिद्ध विशेषताओं में से एक हैं। चलो इस ट्यूटोरियल को उस विशेषता को बनाने से शुरू करते हैं।
ईंटों में सिक्के छुपाना
ईंट को मारना
हम अपनी पहली ईंट इस तरह बनाएंगे कि हम इसे जल्दी से संशोधित कर सकें ताकि इसमें जितने भी सिक्के चाहिए हों, वे रखे जा सकें। एक बार जब ईंट पूरी हो जाती है, तो आप इसे डुप्लिकेट कर सकते हैं और इसे कहीं भी रख सकते हैं।
यह ट्यूटोरियल भाग 4 पर आधारित है, और यह मानता है कि आपने केंद्र से भाग 4 परियोजना को शाखा बना दिया है।
सुरुआत में, एक ईंट का चयन करें जो सिक्के रखेगी। ऑब्जेक्ट प्रॉपर्टीज से "व्यवहार" बटन पर टैप करें ताकि व्यवहार संपादक खुल सके।
गुण ऑब्जेक्ट श्रेणी से, टकराया व्यवहार जोड़ें। टकराया व्यवहार प्रत्येक बार एक इवेंट को ट्रिगर करेगा जब 2 निर्दिष्ट ऑब्जेक्ट एक-दूसरे को छूते हैं।
जिन ऑब्जेक्ट्स को आपने चुना है, उनके साथ, अब आप यह बदल सकते हैं कि ऑब्जेक्ट बी का कौन सा भाग टकराए हुए इवेंट को ट्रिगर करेगा। सभी टॉगल को बंद कर दें, सिवाय "ऊपर" विकल्प के। अब टकराया व्यवहार केवल तब काम करेगा जब प्लेयर कैरेक्टर का शीर्ष ईंट को छूता है।
खाली बॉक्स आपके दूसरे ऑब्जेक्ट (ऑब्जेक्ट बी) के लिए है, जिसे टकराया व्यवहार चेक करेगा। खाली बॉक्स पर टैप करें, और अपने खिलाड़ी के चरित्र को चुनें जिसे आपने भाग 4 में जोड़ा था।
अपने ऑब्जेक्ट्स के चयन के साथ, आप अब यह बदल सकते हैं कि ऑब्जेक्ट बी का कौन सा भाग टकराए हुए इवेंट को ट्रिगर करेगा। सभी टॉगल को बंद कर दें, सिवाय "ऊपर" विकल्प के। अब टकराया व्यवहार केवल तब काम करेगा जब प्लेयर कैरेक्टर का शीर्ष ईंट को छूता है।
अब चूंकि यह ईंट चेक कर रही है कि खिलाड़ी का सिर इसे छू रहा है, चलो इसे ऊपर और नीचे उछालते हैं। ऐसा करने के लिए हम इसको ऊपर ले जाने के लिए "मूव बाय" व्यवहार का उपयोग करेंगे, और फिर वापस नीचे लाने के लिए।
परिवर्तन श्रेणी से, "मूव बाय" व्यवहार जोड़ें और इसे उस टकराया व्यवहार से कनेक्ट करें जो आपने पहले जोड़ा था।
"मूव बाय" व्यवहार पर टैप करें, और इसके गुण देखें। चूंकि हम चाहते हैं कि ईंट तब ऊपर जाए जब खिलाड़ी इसे मारता है, हम Y मान को बदलेंगे। इसे एक छोटे से नंबर पर सेट करें क्योंकि हम केवल एक छोटी उछाल प्रभाव देना चाहते हैं। मैंने इसे 0.20 मीटर पर सेट किया।
आपको अवधि भी बदलनी होगी। अवधि वह समय है जो मूव को पूरा करने में लगता है। डिफ़ॉल्ट रूप से, अवधि 1 पर सेट होती है, लेकिन इसका मतलब है कि ईंट 1 सेकंड में 0.2 मीटर चलेगी। यह हमारी जरूरतों के लिए बहुत धीमा है। अवधि को 0.10 सेकंड में बदलें।
नोट: शून्य की अवधि सेट करने से, आपके ऑब्जेक्ट को नई स्थिति पर तुरंत स्थानांतरित कर देगा। यह चिकनी एनीमेशन नहीं करेगा। इसके अलावा, "रेखीय" टेक्स्ट वाला बॉक्स देखें। यह वह गति ट्वीन प्रभाव है जो आपकी मूव में लागू होता है। यदि आपके व्यवहार की अवधि है, तो यह इस प्रभाव के आधार पर चलेगा।
अब ईंट को वापस उछालने के लिए, एक और मूव बाय व्यवहार जोड़ें, और इसे पिछले वाले से कनेक्ट करें।
एक बार फिर, गुण बदलें। इस बार, हम चाहते हैं कि ईंट वापस नीचे जाए। इसे नीचे ले जाने के लिए Y मान को एक नकारात्मक संख्या में बदलें। चूंकि हम चाहते हैं कि ईंट अपने मूल स्थिति पर लौटे, हम इसे -0.20 मीटर के लिए ले जाएंगे। आपको अवधि को 0.10 सेकंड में भी बदलना होगा।
इस समय, अगर आप खेलते हैं तो आपका खिलाड़ी नीचे से ईंट को मार सकता है और ईंट ऊपर और नीचे उछलती है। हालांकि, हमें कुछ मुद्दों को संबोधित करने की आवश्यकता है।
-
हमारी लॉजिक में एक छोटी सी बग है। अगर खिलाड़ी बिना यह करने के लिए कूदता है, तो ईंट अपनी मूल स्थिति पर वापस लौटेगी।
-
ईंट हमेशा उछलती है। अगर आप केवल कुछ सिक्के चाहते हैं, तो यह खाली होने पर रुक जाता है?
-
यह अभी तक कोई सिक्के नहीं देता।
चलो पहले समस्या 1 को संबोधित करते हैं। यह वास्तव में एक सरल बग है। हमें बस इतना करना है कि जब खिलाड़ी इसे मारता है, तो टकराव व्यवहार को बंद कर दें, और फिर इसे वापस चालू करें जब यह चलाना खत्म कर दे।
यह करने के लिए, कस्टम श्रेणी पर स्विच करें, और "व्यवहार बंद करें" जोड़ें, फिर इसे टकराया व्यवहार से कनेक्ट करें।
अगला, व्यवहार बंद करें गुणों से, "व्यवहार का चयन करें" लेबल वाले खाली बॉक्स पर टैप करें। सूची में सही टकराया व्यवहार खोजें। ध्यान दें कि सूची सभी व्यवहारों को दिखाती है, सभी ऑब्जेक्ट्स से। सूची वस्तु नाम के आधार पर छाँटी गई है।
अब जब यह उछाल समाप्त हो गया है तो टकराव व्यवहार को वापस चालू करना होगा। ऐसा करने के लिए, इसे जोड़ें व्यवहार चालू करें कस्टम श्रेणी से और इसे दूसरे मूव बाय व्यवहार से कनेक्ट करें। व्यवहार गुणों से, सुनिश्चित करें कि आप टकराया व्यवहार को चालू करने के लिए इसे चुनते हैं।
समस्या 2 के लिए, हम एक बॉक्स कंटेनर का उपयोग करेंगे ताकि यह निर्धारित हो सके कि प्रत्येक ईंट में कितने सिक्के हैं। ऐसा करने से हमें विशेष ईंटों को अधिक या कम सिक्के रखने की अनुमति मिलती है।
आपको कस्टम श्रेणी से एक बॉक्स कंटेनर जोड़ना चाहिए, आप इसे स्क्रीन पर किसी भी जगह रख सकते हैं क्योंकि यह किसी और चीज़ से कनेक्ट नहीं करता है। आप इस बॉक्स कंटेनर का नाम "सिक्के" भी रख सकते हैं ताकि इसे बाद में ढूंढने में आसानी हो (व्यवहारों का नाम बदलने के लिए, भाग 4 में देखें)
सिक्के बॉक्स कंटेनर के व्यवहार गुणों से, "डिफ़ॉल्ट मान" गुण को 3 पर सेट करें। यह वह संख्या होगी जो ईंट रखती है।
अब लॉजिक्स श्रेणी से अतिरिक्त मान व्यवहार जोड़ें और इसे हमने पहले जोड़ी गई दूसरी मूव बाय से कनेक्ट करें। हम इस अतिरिक्त मान व्यवहार का उपयोग करेंगे ताकि हर बार खिलाड़ी ईंट को मार सके।
एक बार जब "अतिरिक्त मान" व्यवहार कनेक्ट हो चुका है, तो उस पर टैप करें ताकि व्यवहार गुण दिखाई दें। गुणों में 2 इनपुट फ़ील्ड होते हैं, और "अतिरिक्त मान" व्यवहार इनपुट किए गए मूल्यों का योग आउटपुट करेगा।
हमारे मामले में, चूंकि हम इस अतिरिक्त मान का उपयोग प्रत्येक हिट का ट्रैक रखने के लिए कर रहे हैं, हम पहले फ़ील्ड में 1 और दूसरे फ़ील्ड में अतिरिक्त मान का योग जारी रखेंगे।
यह तब योग को हर बार बढ़ा देता है जब व्यवहार चलाया जाता है। जब पहला बार व्यवहार चलता है तो यह 1+0 होगा क्योंकि कोई योग नहीं होता। दूसरी बार जब यह चलता है तो इसका योग 1+1 होगा, क्योंकि पिछले समय से योग संग्रहीत होता है।
अगला, आपको यह जांचने की आवश्यकता है कि क्या जोड़ने वाले मान का योग पहले से जोड़ने वाले बॉक्स कंटेनर में संग्रहीत मान के बराबर है।
इसके लिए, एक IF व्यवहार जोड़ें लॉजिक श्रेणी से और इसे पिछली चरण से अतिरिक्त मान से कनेक्ट करें।
IF कनेक्ट होने के साथ, उस पर टैप करें ताकि व्यवहार गुण दिखाई दें। IF व्यवहार, यह जांचता है कि क्या एक निश्चित स्थिति पूरी होती है (2 इनपुट फ़ील्ड और चयनित स्थिति के आधार पर)।
इस मामले में, हम जोड़ने वाले मान व्यवहार का योग साझा करेंगे, और इसे IF के पहले फ़ील्ड में रखेंगे।
फिर बॉक्स कंटेनर की सामग्री को दूसरे IF में आउटपुट करें।
इन मानों के साथ जोड़ी गई अगली व्यवहार केवल तब निष्पादित होगी यदि जोड़ने वाले मान का योग बॉक्स कंटेनर में संग्रहीत मान के बराबर है।
अब आपको टकराया व्यवहार को बंद करना है, और ग्राफिक्स को बदलना है ताकि आप और सिक्के प्राप्त न कर सकें। ऐसा करने के लिए, एक नया व्यवहार बंद करें जोड़ें कस्टम श्रेणी से, और इसे IF से कनेक्ट करें। पहले की तरह, टकराया व्यवहार को बंद करने के लिए इसे चुनें।
यह प्रदर्शित करने के लिए कि खिलाड़ी के पास अब और सिक्के नहीं बचे हैं, आप ग्राफिक बदलें व्यवहार जोड़ सकते हैं परिवर्तन श्रेणी से, और इसे IF से कनेक्ट करें।
एक बार जब यह कनेक्ट हो जाता है, तो ग्राफिक बदलें के व्यवहार गुणों से एक नया ग्राफिक चुनें। व्यवहार गुणों में दूसरे बॉक्स पर टैप करें, और एक नया ग्राफिक चुनें।
अब अगर आप खेलते हैं, तो आप ईंट पर कूद सकते हैं और इसे 3 बार हिट कर सकते हैं, फिर यह रुक जाता है।
अंक प्राप्त करना
UI सेट करना
अगली चीज़ है कि वास्तव में अंक प्राप्त करें, और जब ईंट पर हिट करने पर सिक्के इकट्ठा करें!
हम जो पहला करेंगे वह स्क्रीन के कोने में एक काउंटर जोड़ना है ताकि खिलाड़ी को पता चल सके कि उसके पास कितने अंक हैं।
तो, व्यवहार संपादक से वापस जाते हुए मुख्य संपादक पर वापस जाएं। फिर आपको स्क्रीन के दाईं ओर 3 बिंदुओं पर टैप करके परत बार को लाना होगा (आप स्क्रीन के किनारे से स्वाइप भी कर सकते हैं)।
ग्लोबल UI परत का चयन करें। UI परतें दृश्य में अन्य परतों के ऊपर मौजूद हैं और आमतौर पर बटन, जॉइस्ट्रिक्स और लेबल के लिए उपयोग की जाती हैं। ये निरंतर रूप से स्क्रीन पर एक ही स्थान पर होती हैं, और आपके दृश्य की बाकी सामग्री के साथ चलती हैं।
नोट: वैश्विक UI पर रखी गई वस्तुएँ आपके प्रोजेक्ट में प्रत्येक दृश्य में मौजूद होंगी। यदि आप चाहते हैं कि कोई चीज़ केवल एक दृश्य में मौजूद हो, तो दृश्य UI परत का उपयोग करें।
ग्लोबल UI परत का चयन करने पर, डोकर में विशेष ऑब्जेक्ट बीकर आइकन पर टैप करें, या इसे दृश्य में खींचें।
पॉपअप से लेबल का चयन करें, और एक लेबल आपके दृश्य में डाला जाएगा।
नए जोड़े गए लेबल पर टैप करें ताकि ऑब्जेक्ट गुण खुल सकें। लेबल गुणों से आप पाठ का रंग, फ़ॉन्ट, प्रदर्शित पाठ और अन्य को बदल सकते हैं।
विशाल पाठ क्षेत्र पर टैप करें और पाठ को "अंक:" में बदलें।
इसके बाद, "संरेखण" पर टैप करें ताकि संरेखण गुण विस्तारित हो सकें। चौड़ाई को 110 और ऊँचाई को 64 पर सेट करें।
नोट: यदि आप इनको 0 पर सेट करते हैं, तो पाठ क्षेत्र हटा दिया जाएगा, और आपके टेक्स्ट को क्षैतिज रूप से अनिश्चित रूप से बढ़ने की अनुमति देता है।
लेबल गुण सभी सेट होने के बाद, आप मूव/परिवर्तन उपकरण का उपयोग करके अपने नए लेबल को स्क्रीन के कोने में स्थिति में रख सकते हैं और यह सुनिश्चित कर सकते हैं कि यह खिलाड़ी के दृश्य में बाधा न बने।
जब आपका लेबल स्थिति में होता है, एक और लेबल दृश्य में जोड़ें, हम इस लेबल का उपयोग आपके अंकों को प्रदर्शित करने के लिए करेंगे। इस बार पाठ को 0 करने के लिए सेट करें, क्योंकि आपके खिलाड़ी के पास शून्य अंक हैं। इस बार, हम एक निर्दिष्ट चौड़ाई और ऊँचाई सेट करेंगे। चौड़ाई को 500pt और ऊँचाई को 64pt में सेट करें। यह एक निर्दिष्ट क्षेत्र देता है, जहां पाठ दिखाई दे सकता है। यदि आपके पास इस क्षेत्र में फिट करने के लिए बहुत अधिक पाठ है, तो इसे काट दिया जाएगा।
इसके अलावा, यह सुनिश्चित करें कि_HORIZONTAL_ संरेखण बाईं ओर संरेखित (Flush Left) हो।
जब आप लेबल गुणों के साथ समाप्त होते हैं, तो इसे "अंक" शीर्षक के बगल में स्थिति में रखें।
अंक प्राप्त करना
अब हमें प्रत्येक बार जब आप एक सिक्का प्राप्त करते हैं, तो आपके अंकों को बढ़ाने की आवश्यकता है। मुख्य परत पर वापस स्विच करें, और उस ईंट के व्यवहार पर वापस जाएं जिसमें सिक्के हैं ताकि हम आवश्यक व्यवहार जोड़ सकें।
UI श्रेणी से, "स्कोर में जोड़ें" व्यवहार खींचें, और इसे पहले जोड़े गए दूसरे मूव बाय व्यवहार के साथ कनेक्ट करें।
इसके बाद, स्कोर में जोड़ें व्यवहार पर टैप करें, और अनंत स्कोर टॉगल को चालू करें। यदि यह टॉगल बंद था, तो अगला व्यवहार तब ट्रिगर होगा जब निर्दिष्ट स्कोर प्राप्त किया जाएगा। इसके अलावा यह सुनिश्चित करें कि "0" लेबल सही ऑब्जेक्ट के रूप में चयनित है, क्योंकि स्कोर में जोड़ें व्यवहार स्वचालित रूप से आपके दृश्य में एक यादृच्छिक लेबल का चयन करेगा।
अगर आप अब खेलते हैं, तो आप प्रत्येक बार जब खिलाड़ी ईंट को हिट करता है तो 1 अंक कमाएंगे।
अब, आप इस ईंट को डुप्लिकेट कर सकते हैं (जैसा कि आपने भाग 3 में सीखा) और इसे अपने स्तर में रख सकते हैं।
व्यक्तिगत सिक्के
आपका पहला सिक्का
कभी-कभी आप अपने स्तर में केवल सिक्के जोड़ना चाह सकते हैं बिना उन्हें ईंटों के अंदर छिपाए। यह अपेक्षाकृत सरल है, और हम अब इसके बारे में बात करेंगे।
सबसे पहले अपने सिक्के का ग्राफिक अपने दृश्य में जोड़ें, फिर उस पर टैप करें ताकि ऑब्जेक्ट गुण दिखाई दें।
ऑब्जेक्ट गुणों के नीचे, सुनिश्चित करें कि भौतिकी टैब चुना गया है।
भौतिकी टैब में, सिक्के को पारगम्य बनाएं। ऐसा करने से हमारे खिलाड़ी को इसे पार करने की अनुमति मिलती है बिना रुकने या धीमा होने के।
अगला हम सिक्के की टकराव सीमाओं को समायोजित करेंगे। टकराव सीमाएँ वस्तु का भौतिक आकार परिभाषित करती हैं। टकराव सीमाएँ वस्तु की दृश्य उपस्थिति से अलग आकार या आकार हो सकती हैं। टकराव सीमाओं को समायोजित करने के लिए, टकराव आइकन पर टैप करें।
टकराव संपादक से आप बाईं ओर के उपकरण पैलेट का उपयोग करके अनूठे टकराव आकारों को संशोधित और बना सकते हैं।
इस गाइड के लिए, हम "गेंद" विकल्प का चयन करेंगे ताकि एक गोल टकराव सीमा बनाई जा सके।
अब, सर्कल पर हरे बिंदु को खींचकर टकराव सीमा को आकार दें। टकराव सीमा को सिक्के के समान बनाएं। ध्यान दें कि यदि टकराव सीमा आपके ऑब्जेक्ट से बड़ी होती है, तो आपका खिलाड़ी इसके साथ इंटरैक्ट कर सकता है भले ही वह सिक्के के ग्राफिक के मध्य में अभी भी भौतिक रूप से न छूता हो।
जब आप टकराव सीमा बनाने के साथ समाप्त हो जाएं, तो नई आकृति को स्वीकार और सहेजने के लिए उपकरण पैलेट में चेक मार्क आइकन पर टैप करें।
फिर से, सिक्के पर टैप करें ताकि ऑब्जेक्ट गुण देखें। इस बार सिक्के के लिए व्यवहार संपादक खोलें।
ऑब्जेक्ट श्रेणी से, "टकराया" व्यवहार को स्क्रीन पर जोड़ें। ठीक उसी तरह, टकराया व्यवहार गुणों को खोलें, और ऑब्जेक्ट बी के लिए हरे अंतरिक्ष यात्री खिलाड़ी का चयन करें।
इसके बाद UI श्रेणी से स्कोर में जोड़ें व्यवहार खींचें, और इसे टकराया से कनेक्ट करें। फिर, व्यवहार गुणों से, अनंत स्कोर के टॉगल को चालू करें, और सुनिश्चित करें कि सही स्कोर लेबल चुना गया है।
अंत में, "ऑब्जेक्ट" श्रेणी से ऑब्जेक्ट नष्ट करें व्यवहार जोड़ें, और इसे टकराया व्यवहार से कनेक्ट करें। यह खिलाड़ी के ईंट में दौड़ने के साथ ही सिक्के को पूरी तरह से हटा देगा।
यदि आप खेलते हैं, तो आप अब सिक्के में दौड़ सकते हैं, और यह नष्ट हो जाएगा।
बस इतना ही! अब आपका प्लेटफ़ॉर्म गेम संग्रहणीय सिक्कों से भरा हुआ है। इस बिंदु पर, आपको केवल अपने सिक्कों को डुप्लिकेट करना होगा और उन्हें अपने स्तर में रखना होगा। सुनिश्चित करें कि सिक्कों को रखने में रचनात्मक रहें!
आप भाग 5 का पूरा संस्करण हब से डाउनलोड कर सकते हैं और इसे कार्रवाई में देख सकते हैं।
भाग 6 में, हम दुश्मनों को जोड़कर खेल में थोड़ी कठिनाई जोड़ना शुरू करेंगे।

