Problem z Pygame

0

Witam!

Od jakiegoś czasu uczę się programowania w Pythonie, przy pomocy książki "Python: kurs programowania na prostych przykładach". Postanowiłem spróbować swoich sił w Pygame. Jednak w trakcie tworzenia ekranu startowego pojawił się problem. Otóż pomimo wpisania komend zgodnie z instrukcją podanej w książce, to ciągle pojawia czarny ekran.

import pygame
import os
pygame.init()

szer = 800
wys = 600
screen = pygame.display.set_mode((szer,wys))

def napisz(tekst, x, y, rozmiar):
    cz = pygame.font.SysFont ("Arial", rozmiar)
    rend = cz.render(tekst, 1, (0,148,255))
    screen.blit(rend, (x,y))

copokazuje = "menu"

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
    if copokazuje == "menu":
        napisz("Naciśnij spację", 80, 150, 20)
        grafika = pygame.image.load(os.path.join('tytuł.png'))
        screen.blit(grafika, (80,30))

pygame.display.update()

Nie wiem w którym miejscu popełniam błąd. Długo analizowałem kod, ale nie udało mi się znaleźć rozwiązania problemu.

Z góry dziękuję za pomoc!

2

Stawiam na brak wcięcia przed pygame.display.update().
Musisz tą instrukcję wciągnąć pod pętlę, bo się w ogóle nie wykonuje.

1

Działa! Dzięki!

0

Przy okazji, nawet jeśli ten przykład w książce był dobrze zrobiony i tylko źle go przepisałeś, to radziłbym jakieś lepsze źródło.

A dlaczego?
Bo ten przykład uczy, że powinniśmy w pętli gry, w każdej klatce generować czcionkę i ładować obrazki, które używamy...

def napisz(tekst, x, y, rozmiar):
    cz = pygame.font.SysFont ("Arial", rozmiar)
    #...

grafika = pygame.image.load(os.path.join('tytuł.png'))
#...

Te rzeczy powinieneś sobie przygotować przed pętlą, jednorazowo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1