Mengapa aplikasi PyGame saya tidak berjalan sama sekali?
Dec 12 2020
Saya memiliki program Pygame sederhana:
#!/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")
Tetapi setiap kali saya mencoba menjalankannya, saya mendapatkan ini:
pygame 2.0.0 (SDL 2.0.12, python 3.8.3)
Hello from the pygame community. https://www.pygame.org/contribute.html
Dan kemudian tidak ada yang terjadi. Mengapa saya tidak dapat menjalankan program ini?
Jawaban
4 Rabbid76 Dec 12 2020 at 19:11
Aplikasi Anda berfungsi dengan baik. Namun, Anda belum mengimplementasikan loop aplikasi:
#!/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()
Loop aplikasi PyGame yang khas harus:
- menangani acara dengan salah satu pygame.event.pump()atau pygame.event.get().
- perbarui keadaan permainan dan posisi objek tergantung pada peristiwa input dan waktu (masing-masing frame)
- bersihkan seluruh tampilan atau gambar latar belakang
- menggambar seluruh pemandangan (
blit
semua objek) - perbarui tampilan dengan pygame.display.update()ataupygame.display.flip()
Lihat juga Peristiwa dan loop aplikasi
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'