एक गेम इनपुट के बिना कुछ भी नहीं है, और माउस और टच इनपुट दोनों के लिए Pygame के समर्थन के साथ, आप यह सुनिश्चित कर सकते हैं कि आपका गेम एक्सेस करने योग्य है।
इस दिन और उम्र में, टचस्क्रीन डिवाइस हर जगह हैं। इसमें कोई आश्चर्य की बात नहीं है कि गेम डेवलपर तेजी से अपने गेम में टच इनपुट का उपयोग कर रहे हैं, और फ्रेमवर्क इसे आसान और आसान बना रहे हैं।
PyGame ऐसे गेम और एप्लिकेशन बनाना आसान बनाता है जो टच इनपुट का लाभ उठा सकते हैं।
PyGame का टच सपोर्ट
PyGame में टच इनपुट के साथ काम करने के लिए बिल्ट-इन सपोर्ट है। इसमें माउस और फिंगर टच इनपुट के लिए समर्थन शामिल है।
माउस का पता लगाने के लिए, आप इसका उपयोग कर सकते हैं pygame. माउसबटनडाउन और pygame. माउसबटनअप आयोजन। उदाहरण के लिए:
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. माउसबटनडाउन:
प्रिंट ("माउस बटन दबाया")
फ़िंगर टच इनपुट का पता लगाने के लिए, आप इसका उपयोग कर सकते हैं pygame. फ़िंगरडाउन और pygame. फिंगरअप आयोजन। उदाहरण के लिए:
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. फिंगरडाउन:
प्रिंट ("फिंगर ने स्क्रीन को छुआ")
एक साधारण खेल बनाना
आप सभी कोड में पा सकते हैं यह गिटहब रेपो.
एक साधारण खेल बनाकर प्रारंभ करें। इस गेम में एक खिलाड़ी चरित्र शामिल होगा जिसे आप टच इनपुट का उपयोग करके स्क्रीन के चारों ओर घुमा सकते हैं। ऐसा करने के लिए, आपको एक गेम लूप और एक प्लेयर कैरेक्टर बनाना होगा।
आरंभ करने से पहले, सुनिश्चित करें कि आपके पास है आपके डिवाइस पर पाइप स्थापित है, फिर स्थापित करने के लिए निम्न आदेश का उपयोग करें पायगेम मापांक:
पाइप स्थापित करें
अब, अपने गेम कोड में PyGame मॉड्यूल को इम्पोर्ट करें:
आयात pygame
pygame.init ()
उसके बाद, गेम विंडो और गेम ऑब्जेक्ट बनाएं:
# डिस्प्ले सेट करें
आकार = (400, 400)
स्क्रीन = pygame.display.set_mode (आकार)# प्लेयर ऑब्जेक्ट बनाएं
प्लेयर = पायगम. सतह((50, 50))
प्लेयर.फिल ((255, 0, 0))
# खिलाड़ी की प्रारंभिक स्थिति निर्धारित करें
खिलाड़ी_स्थिति = [175, 175]
अंत में, गेम लूप बनाएं:
# गेम लूप
चल रहा है = सत्यजबकि दौड़ना:
# घटनाओं के लिए जाँच करें
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. छोड़ना:
चल रहा है = असत्य# खिलाड़ी की स्थिति को अपडेट करें
खिलाड़ी_स्थिति[0] += 5
खिलाड़ी_स्थिति[1] += 5# खिलाड़ी को ड्रा करें
स्क्रीन.ब्लिट (खिलाड़ी, खिलाड़ी_पोस)
# डिस्प्ले अपडेट करें
pygame.display.update ()
ध्यान दें कि उपरोक्त कोड केवल एक साधारण गेम बनाता है जहां खिलाड़ी का चरित्र स्क्रीन के चारों ओर घूमता है। खेल को और अधिक रोचक बनाने के लिए, आप कर सकते हैं भौतिकी और टक्कर जोड़ें खिलाड़ी को दूर करने के लिए बाधाएं पैदा करने के लिए।
प्लेयर मूवमेंट के लिए माउस टच इनपुट
अब जब आपके पास खिलाड़ी चरित्र वाला गेम है, तो आप टच इनपुट जोड़ना शुरू कर सकते हैं। ऐसा करने के लिए, आपको माउस इनपुट के लिए एक ईवेंट हैंडलर जोड़ना होगा। जोड़ें pygame. माउसबटनडाउन और pygame. माउसबटनअप गेम लूप की घटनाएँ।
माउस इनपुट के लिए इवेंट हैंडलर बनाएं। जब कोई खिलाड़ी माउस बटन दबाता है, तो वर्ण की स्थिति को वर्तमान माउस स्थिति में अपडेट करें। कार्यक्रम माउस बटन की रिहाई पर ध्यान नहीं देगा, क्योंकि उस मामले में उसे कोई कार्रवाई करने की आवश्यकता नहीं है।
# गेम लूप
चल रहा है = सत्यजबकि दौड़ना:
# घटनाओं के लिए जाँच करें
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. छोड़ना:
चल रहा है = असत्य
# माउस इनपुट के लिए जाँच करें
elif event.type == pygame. माउसबटनडाउन:
mouse_x, mouse_y = event.pos
खिलाड़ी_स्थिति[0] = माउस_एक्स
खिलाड़ी_स्थिति[1] = माउस_वाई
elif event.type == pygame. माउसबटनअप:
उत्तीर्ण
स्क्रीन.फिल ((0, 0, 0))# खिलाड़ी को ड्रा करें
स्क्रीन.ब्लिट (खिलाड़ी, खिलाड़ी_पोस)
# डिस्प्ले अपडेट करें
pygame.display.update ()
माउस इनपुट के जवाब में खिलाड़ी को स्थानांतरित करने के लिए आप ईवेंट हैंडलर में अतिरिक्त तर्क भी जोड़ सकते हैं।
प्लेयर मूवमेंट के लिए फिंगर टच इनपुट
माउस इनपुट के अलावा, आप फ़िंगर टच इनपुट भी जोड़ सकते हैं। ऐसा करने के लिए, आपको फ़िंगर-टच इनपुट के लिए ईवेंट हैंडलर जोड़ना होगा।
जोड़ें pygame. फ़िंगरडाउन और pygame. फिंगरअप गेम लूप की घटनाएँ:
# गेम लूप
चल रहा है = सत्यजबकि दौड़ना:
# घटनाओं के लिए जाँच करें
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. छोड़ना:
चल रहा है = असत्य
# माउस इनपुट के लिए जाँच करें
elif event.type == pygame. माउसबटनडाउन:
mouse_x, mouse_y = event.pos
खिलाड़ी_स्थिति[0] = माउस_एक्स
खिलाड़ी_स्थिति[1] = माउस_वाई
elif event.type == pygame. माउसबटनअप:
उत्तीर्ण
# फिंगर इनपुट की जांच करें
elif event.type == pygame. फिंगरडाउन:
फिंगर_एक्स, फिंगर_वाई = इवेंट.पोज
खिलाड़ी_स्थिति[0] = फिंगर_एक्स
खिलाड़ी_स्थिति[1] = फिंगर_वाई
elif event.type == pygame. फिंगरअप:
उत्तीर्णस्क्रीन.फिल ((0, 0, 0))
# खिलाड़ी को ड्रा करें
स्क्रीन.ब्लिट (खिलाड़ी, खिलाड़ी_पोस)
# डिस्प्ले अपडेट करें
pygame.display.update ()
ध्यान दें कि यह माउस इनपुट इवेंट हैंडलर के समान ही है। जब खिलाड़ी स्क्रीन पर अपनी उंगली दबाता है तो यह ईवेंट हैंडलर चरित्र की स्थिति को अपडेट करता है। जब वे अपनी उंगली छोड़ते हैं, तो कुछ नहीं होता है। यह आपको एक गेम बनाने की अनुमति देता है जिसे आप माउस और फिंगर टच इनपुट दोनों का उपयोग करके नियंत्रित कर सकते हैं। ध्यान रखें कि आप अन्य ईवेंट जैसे कि उपयोग भी कर सकते हैं pygame. फिंगरमोशन उंगली आंदोलन का जवाब देने के लिए।
Pygame की अतिरिक्त स्पर्श सुविधाएँ
बुनियादी स्पर्श सुविधाओं के साथ, आप और अधिक उन्नत सुविधाओं को जोड़ना शुरू कर सकते हैं। PyGame में कुछ अंतर्निहित विशेषताएं हैं जो आपको अपने गेम में अधिक स्पर्श सुविधाएं जोड़ने में मदद कर सकती हैं।
पहली विशेषता है pygame.mouse.set_visible () समारोह। यह फ़ंक्शन आपको माउस कर्सर को छिपाने की अनुमति देता है। यह उपयोगी हो सकता है यदि आप एक ऐसा गेम बनाना चाहते हैं जो केवल टच इनपुट का उपयोग करता है न कि माउस का।
यहाँ कैसे उपयोग करने का एक उदाहरण है सेट_विजिबल () समारोह:
pygame.mouse.set_visible (असत्य)
pygame.mouse.set_pos () फ़ंक्शन माउस कर्सर को स्क्रीन पर एक विशिष्ट स्थान पर सेट करता है। यदि आप माउस इनपुट का उपयोग किए बिना माउस को किसी विशिष्ट स्थान पर ले जाना चाहते हैं तो यह उपयोगी है।
नीचे इसका उपयोग करने का एक उदाहरण है सेट_पोस () समारोह:
pygame.mouse.set_pos (200, 200)
आप उपयोग कर सकते हैं pygame.mouse.get_rel () माउस के सापेक्ष गति प्राप्त करने के लिए कार्य करें। आप इसका उपयोग यह पता लगाने के लिए कर सकते हैं कि माउस पिछले माउस ईवेंट के बाद से कितनी दूर चला गया है।
इस तरह आप इसका इस्तेमाल कर सकते हैं get_rel () समारोह:
dx, डाई = pygame.mouse.get_rel ()
अंत में, आप का उपयोग कर सकते हैं pygame.mouse.get_pressed () यह जांचने के लिए कार्य करता है कि खिलाड़ी कोई माउस बटन दबाता है या नहीं। माउस/टच कंट्रोल के साथ गेम बनाते समय यह उपयोगी हो सकता है।
नीचे इसका उपयोग करने का एक उदाहरण है get_pressed () समारोह:
माउस_बटन = pygame.mouse.get_pressed ()
PyGame भी प्रदान करता है माउस व्हील ईवेंट प्रकार जिसका उपयोग आप माउस व्हील स्क्रॉल का पता लगाने के लिए कर सकते हैं। यह लंबवत और क्षैतिज स्क्रॉल दोनों का समर्थन करता है।
यहाँ एक उदाहरण है:
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. माउस व्हील:
अगर ईवेंट.वाई > 0:
प्रिंट ("माउस व्हील ऊपर स्क्रॉल किया गया")
elif ईवेंट.वाई < 0:
प्रिंट ("माउस व्हील नीचे स्क्रॉल किया गया")
टच इनपुट के साथ इंटरएक्टिव गेम्स बनाएं
स्पर्श इनपुट के स्थान पर, अब आप इंटरैक्टिव गेम बना सकते हैं। उदाहरण के लिए, आप एक गेम बना सकते हैं जहां खिलाड़ी टच इनपुट का उपयोग करके स्क्रीन पर घूम सकता है। आप जेस्चर-आधारित गेम भी बना सकते हैं, जहां खिलाड़ी गेम में एक्शन ट्रिगर करने के लिए अलग-अलग जेस्चर कर सकता है।
जब टच इनपुट के साथ गेम बनाने की बात आती है तो संभावनाएं अनंत होती हैं। PyGame की मदद से आप ऐसे गेम बना सकते हैं जो मज़ेदार और इंटरैक्टिव दोनों हों। तो वहाँ से बाहर निकलें और बनाना शुरू करें!