Почему мой текст не отображается в pygame, когда он четко отображается на экране?

#python #pygame

Вопрос:

Почему мой текст не появляется? Я пытаюсь создать программу, в которой текст отображается над изображением. В программе я все еще вижу изображение, но не текст.

 import pygame
import time

pygame.init()

screen = pygame.display.set_mode((800, 600))
image1 = pygame.image.load('frog.gif')
image2 = pygame.image.load('frog.jpg')
pygame.display.set_caption(''Dancing frog'')
image1 = pygame.transform.scale(image1, (800, 800))
image2 = pygame.transform.scale(image2, (800, 800))
font = pygame.font.SysFont('Calibri', 25, True, False)
text = font.render('this should appear', True, (255, 255, 255))
screen.blit(text, [10, 10])

run = True
while run:
    screen.blit(image1, (0, -200))
    pygame.display.update()
    time.sleep(0.2)
    screen.blit(image2, (0, -200))
    pygame.display.update()
    time.sleep(0.2)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False       
pygame.quit() ```
 

Комментарии:

1. Скорее image1 всего и image2 будут рисовать поверх текста.

2. Не связаны, но вы должны позвонить только pygame.display.update() один раз. В конце концов, после того, как вы все уничтожите. В противном случае это вызовет мерцание.

Ответ №1:

Вы должны blit поместить текст на поверхность после изображения bbackgorund:

 screen.blit(image1, (0, -200))
screen.blit(text, [10, 10])
pygame.display.update()