为什么在尝试将新图像放入 Pygame 显示器时,图像会出现在以前的图像后面?



在尝试在任何程序中使用它之前,我正在测试 pygame(在 python 2.7 中(,我想做的是让一个图像出现在显示器中,等待半秒钟,然后用一个新图像覆盖上一个图像,但第二个图像没有放在旧图像的顶部, 但在它下面。我尝试切换图像顺序,使用不同的图像,甚至尝试使用 3 张图像。

import time as t
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((1000,1000),0,32)
image1 = pygame.image.load("image1.png").convert_alpha()
image2 = pygame.image.load("image2.png").convert()
while True:
screen.blit(image1,(0,0))
pygame.display.update()
t.sleep(0.5)
screen.blit(image2,(0,0))
pygame.display.update()

您的image2实际上确实出现在您的image1前面。但只是一瞬间。

update显示屏后,您立即返回到while循环的开始,这会立即在image2面前显示另一个image1副本。

如果您希望它们每半秒来回交替一次,您只需在循环结束时添加另一个sleep

如果您希望它只是绘制image1,等待,绘制image2,并完成它,只需摆脱while循环即可。

最新更新