我正在使用pygame和python构建一个项目,为游戏的初始界面创建了一个闪屏。我有一张.png图片要用于闪屏,并决定从黑色渐变到透明来实现。我发现最好的方法是通过设置alpha值来blit图像。我编写了以下代码,但它运行非常缓慢(程序会挂起30秒),并且没有显示出alpha值,只在屏幕上显示了图片。我做错了什么?
screen = pygame.display.set_mode([1066,600])
#Drawable surface
background = pygame.Surface(screen.get_size())
#Used for converting color maps
background = background.convert()
#Splashscreen
#image fades in
for i in range (225):
background.fill((0,0,0))
image = pygame.image.load("logo.png")
image.set_alpha(i)
logoimage = screen.blit(image,(0,0))
pygame.display.flip()
pygame.time.delay(2000)
#image fades out
#goes on to display main menu
.convert()
解决了问题,感谢所有的帮助!我还不太理解.convert()
的作用,所以现在我会去学习一下它的相关知识! - Ben Schwabe