आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

क्या आप कभी भी Python की PyGame लाइब्रेरी का उपयोग करके एक रोमांचक गेम बनाना चाहते हैं, लेकिन समय प्रबंधन की अवधारणा से अभिभूत महसूस करते हैं? यदि हां, तो आप अकेले नहीं हैं।

समय खेल के विकास के सबसे महत्वपूर्ण घटकों में से एक है, और आकर्षक और सफल गेम बनाने के लिए यह समझना आवश्यक है कि PyGame में समय कैसे काम करता है। PyGame कई उपयोगी कार्य और मॉड्यूल प्रदान करता है जो आपको अपने गेम में समय को नियंत्रित करने की अनुमति देता है।

एक साधारण खेल बनाना

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

पाइप स्थापित करें

आप इसमें सभी कोड उदाहरण पा सकते हैं गिटहब रेपो.

एक बार इंस्टॉल हो जाने पर, पायगैम मॉड्यूल आयात करें। फिर 800x600 के आकार और एक सफेद पृष्ठभूमि के रंग के साथ एक स्क्रीन बनाएं, और एक रेक्ट ऑब्जेक्ट जोड़ें। कोड कुछ इस तरह दिखना चाहिए:

instagram viewer
आयात pygame
pygame.init ()
स्क्रीन = pygame.display.set_mode ((800, 600))
बैकग्राउंड = पायगेम. सतह (स्क्रीन.get_size ())
पृष्ठभूमि.फिल ((255, 255, 255))
रेक्ट = पायगम. आयत(0, 0, 20, 20)

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

चल रहा है = सत्य

जबकि दौड़ना:
के लिए आयोजन में pygame.event.get ():
अगर event.type == pygame. छोड़ना:
चल रहा है = असत्य

आयत x + = 1

अगर रेक्ट.एक्स> 780:
रेक्ट.एक्स = 0

स्क्रीन.ब्लिट (पृष्ठभूमि, (0, 0))
pygame.draw.rect (स्क्रीन, (0, 0, 0), आयत)
pygame.display.update ()

आप उपयोगकर्ता इनपुट और भी जोड़ सकते हैं खेल में टकराव. नीचे आउटपुट है:

PyGame के समय मॉड्यूल का अवलोकन

इस खेल में समय को नियंत्रित करने के लिए आप का उपयोग कर सकते हैं pygame.time मापांक। यह मॉड्यूल विभिन्न उपयोगी सुविधाएँ प्रदान करता है, जिनमें a घड़ी ऑब्जेक्ट जैसे तरीकों के साथ get_ticks (), इंतज़ार(), और देरी(). इन कार्यों का उपयोग करके, आप अपने गेम में समय को आसानी से नियंत्रित कर सकते हैं।

समय को ट्रैक करने के लिए क्लॉक ऑब्जेक्ट बनाना

PyGame में, आप समय को ट्रैक करने के लिए क्लॉक ऑब्जेक्ट का उपयोग कर सकते हैं। घड़ी बनाने के लिए, कोड की निम्न पंक्ति का उपयोग करें:

घड़ी = pygame.time. घड़ी()

इस क्लॉक ऑब्जेक्ट के साथ, अब आप अपने गेम में समय का ट्रैक रख सकते हैं। क्लॉक ऑब्जेक्ट से जुड़े कई अन्य उपयोगी कार्य भी हैं, जैसे:

  • समय निकालो(): इस फ़ंक्शन की सहायता से, आप खेल के प्रत्येक फ्रेम के लिए लगने वाले समय को पुनः प्राप्त कर सकते हैं। इस फ़ंक्शन का उपयोग करने के लिए, बस लूप के बाद कोड की निम्न पंक्ति जोड़ें:
    समय = घड़ी.get_time ()
    लिया गया समय प्रदर्शित करने के लिए टेक्स्ट ऑब्जेक्ट जोड़ें:
    फॉन्ट = पायगेम.फॉन्ट। सिसफॉन्ट('एरियल', 18)
    टेक्स्ट = फॉन्ट.रेंडर ('लिया गया समय: {} मि.से.'प्रारूप (समय), सत्य, (0, 0, 0))
    स्क्रीन.ब्लिट (टेक्स्ट, (0, 0))
  • सही का निशान लगाना(): गेम की फ्रेम दर सेट करने के लिए इस फ़ंक्शन का उपयोग करें। डिफ़ॉल्ट रूप से, फ़्रेम दर 60 FPS पर सेट होती है। इसे 30 एफपीएस पर सेट करने के लिए, कोड की निम्नलिखित पंक्ति जोड़ें:
    घड़ी.टिक (30)
  • get_fps(): आप get_fps का उपयोग करके गेम की वर्तमान फ्रेम दर प्राप्त कर सकते हैं। इस फ़ंक्शन का उपयोग करने के लिए, बस कोड की निम्न पंक्ति जोड़ें:
    एफपीएस = घड़ी.गेट_एफपीएस ()
    आप फ़्रेम दर प्रदर्शित करने के लिए टेक्स्ट ऑब्जेक्ट जोड़ सकते हैं:
    फॉन्ट = पायगेम.फॉन्ट। सिसफॉन्ट('एरियल', 18)
    टेक्स्ट = फॉन्ट.रेंडर ('एफपीएस: {}'प्रारूप (एफपीएस), सत्य, (0, 0, 0))
    स्क्रीन.ब्लिट (टेक्स्ट, (0, 20))
  • टिक_व्यस्त_लूप (): यह फ़ंक्शन आपको यह गणना करने देता है कि पिछले कॉल के बाद से कितने मिलीसेकंड बीत चुके हैं सही का निशान लगाना() समारोह। इसका उपयोग करने के लिए, बस कोड की निम्न पंक्ति जोड़ें:
    घड़ी.टिक_व्यस्त_पाश (30)

Get_ticks का उपयोग करके समय निकालना

get_ticks () PyGame प्रारंभ होने के बाद से फ़ंक्शन मिलीसेकंड में समय देता है। इस फ़ंक्शन का उपयोग करने के लिए, कोड की निम्न पंक्ति जोड़ें:

time_elapsed = pygame.time.get_ticks ()

लिया गया समय प्रदर्शित करने के लिए टेक्स्ट ऑब्जेक्ट जोड़ें:

फॉन्ट = पायगेम.फॉन्ट। सिसफॉन्ट('एरियल', 18)
टेक्स्ट = फॉन्ट.रेंडर ('बीता हुआ समय: {} मिसे'.प्रारूप (समय_बीता हुआ), सत्य, (0, 0, 0))
स्क्रीन.ब्लिट (टेक्स्ट, (0, 40))

आप समय-आधारित खेल तत्वों जैसे पावर-अप को लागू करने के लिए बीते हुए समय का उपयोग कर सकते हैं जो एक विशिष्ट समय के लिए रहता है। उदाहरण के लिए, आप एक पावर-अप लागू कर सकते हैं जो रेक्ट ऑब्जेक्ट की गति को 5 सेकंड के लिए बढ़ा देता है:

अगर समय बीता / 5000 > 0:
आयत x + = 5

नीचे आउटपुट है:

प्रतीक्षा और विलंब कार्यों का उपयोग करके खेल को रोकना

PyGame दो फ़ंक्शन भी प्रदान करता है जिनका उपयोग आप गेम को एक निश्चित समय के लिए रोकने के लिए कर सकते हैं: इंतज़ार समारोह और देरी समारोह।

उपयोग करने के लिए इंतज़ार फ़ंक्शन, बस लूप में कोड की निम्न पंक्ति जोड़ें:

pygame.time.प्रतीक्षा करें (1000)

यह खेल को 1000 मिलीसेकंड (1 सेकंड) के लिए रोक देगा। उपयोग करने के लिए देरी फ़ंक्शन, बस लूप में कोड की निम्न पंक्ति जोड़ें:

pygame.time.delay (1000)

यह गेम के अगले फ्रेम को 1000 मिलीसेकंड (1 सेकंड) के लिए विलंबित करेगा।

प्रतीक्षा और विलंब के बीच अंतर

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

Set_timer का उपयोग करके एक ईवेंट बनाना

आप उपयोग कर सकते हैं टाइमर लगाएं() एक निर्दिष्ट समय के बाद ट्रिगर होने वाली घटना बनाने के लिए कार्य करें।

PyGame में घटनाएँ ऐसी वस्तुएँ हैं जिनमें उपयोगकर्ता इनपुट या प्रोग्राम जनित संदेशों के बारे में जानकारी होती है। इस फ़ंक्शन का उपयोग करने के लिए, एक कस्टम ईवेंट बनाएँ और कोड की निम्न पंक्ति जोड़ें:

pygame.time.set_timer (CUSTOM_EVENT, 1000)

यह एक ऐसा ईवेंट बनाएगा जो 1,000 मिलीसेकंड—1 सेकंड के बाद ट्रिगर होगा। विभिन्न प्रकार के ईवेंट हैं जिन्हें आप ट्रिगर कर सकते हैं, जैसे कि माउस मूवमेंट, कीबोर्ड इनपुट और विंडो इवेंट। आपका कोड इन घटनाओं पर किसी भी तरह से सबसे उपयुक्त तरीके से प्रतिक्रिया कर सकता है।

उदाहरण के लिए, यदि आप रेक्ट ऑब्जेक्ट के y-अक्ष को 1 सेकंड के बाद बदलना चाहते हैं, या जब कस्टम ईवेंट ट्रिगर होता है, तो आप कोड की निम्न पंक्ति जोड़ सकते हैं:

अगर event.type == CUSTOM_EVENT:
रेक्ट वाई + = 20

इस तरह, आप आसानी से अपने गेम में समय-आधारित ईवेंट बना सकते हैं जिनका उपयोग आप दिलचस्प और चुनौतीपूर्ण गेमप्ले बनाने के लिए कर सकते हैं।

समय के साथ खेल नियंत्रण में सुधार करें

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

PyGame में समय नियंत्रण कार्यों का उपयोग करके, आप आसानी से ऐसी सुविधाओं को लागू कर सकते हैं—और भी बहुत कुछ—अपने गेम में।