मेरा 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()
इवेंट और एप्लिकेशन लूप भी देखें