मेरा PyGame एप्लिकेशन क्यों नहीं चल रहा है?

Dec 12 2020

मेरे पास एक सरल Pygame प्रोग्राम है:

#!/usr/bin/env python

import pygame
from pygame.locals import *

pygame.init()

win = pygame.display.set_mode((400,400))
pygame.display.set_caption("My first game")

लेकिन हर बार जब मैं इसे चलाने की कोशिश करता हूं, मुझे यह मिलता है:

pygame 2.0.0 (SDL 2.0.12, python 3.8.3)
Hello from the pygame community. https://www.pygame.org/contribute.html

और फिर कुछ नहीं होता। मैं यह कार्यक्रम क्यों नहीं चला सकता?

जवाब

4 Rabbid76 Dec 12 2020 at 19:11

आपका एप्लिकेशन अच्छा काम करता है। हालाँकि, आपने एप्लिकेशन लूप लागू नहीं किया है:

#!/usr/bin/env python

import pygame
from pygame.locals import *

pygame.init()

win = pygame.display.set_mode((400,400))
pygame.display.set_caption("My first game")
clock = pygame.time.Clock()

run = True
while run:
    clock.tick(60)
    
    # handle events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    # update game objects
    # [...]

    # clear display
    win.fill((0, 0, 0))

    # draw game objects
    # [...]

    # update display
    pygame.display.flip()

pygame.quit()

विशिष्ट PyGame एप्लिकेशन लूप में निम्न है:

  • घटनाओं को या तो संभाल लें pygame.event.pump()या pygame.event.get()।
  • इनपुट घटनाओं और समय (क्रमशः फ्रेम) पर निर्भर खेल राज्यों और वस्तुओं की स्थिति को अपडेट करें
  • संपूर्ण प्रदर्शन को साफ़ करें या पृष्ठभूमि को ड्रा करें
  • पूरा दृश्य ( blitसभी वस्तुएँ)
  • pygame.display.update()या तो द्वारा डिस्प्ले को अपडेट करेंpygame.display.flip()

इवेंट और एप्लिकेशन लूप भी देखें