Python 无法淡出文本-PyGame

Python 无法淡出文本-PyGame,python,pygame,Python,Pygame,我试图淡出屏幕上的一些文本,使用带有新曲面的set_alpha函数 我可以在文本中淡出,但是在使用此代码时: label = myFont.render(textToFadeOut,1,(255,0,0)) newSurf = pygame.Surface(myFont.size(textToFadeOut)) newSurf.blit(label,(0,0)) for x in range (225): newSurf.set_alpha(225 - x) screen.bli

我试图淡出屏幕上的一些文本,使用带有新曲面的set_alpha函数

我可以在文本中淡出,但是在使用此代码时:

label = myFont.render(textToFadeOut,1,(255,0,0))
newSurf = pygame.Surface(myFont.size(textToFadeOut))
newSurf.blit(label,(0,0))
for x in range (225):
    newSurf.set_alpha(225 - x)
    screen.blit(newSurf, (100,100))
    pygame.display.flip()
    pygame.time.delay(20)
要淡出,文本不会更改

上面的代码本质上与我淡入时使用的代码完全相同(有效),唯一的区别是我使用(225-x)而不是仅使用x来确保值逐渐变低


我已经检查过x没有在其他任何地方使用,并且还打印了每个循环(225-x),并且该值确实会降低。

在闪烁新曲面之前,您没有清除帧。尝试用背景色填充,然后再次闪烁文本

for x in range(225):
    screen.fill((0,0,0))  #or whatever your background color is
    newSurf.set_alpha(225-x)
    screen.blit(newSurf, (100,100))
    pygame.display.flip()
    pygame.time.delay(20)
想想看,它与淡入一起工作,因为文本变得越来越暗,但与淡出不起作用,因为你是在旧文本的顶部快速移动