Python 无法淡出文本-PyGame
我试图淡出屏幕上的一些文本,使用带有新曲面的set_alpha函数 我可以在文本中淡出,但是在使用此代码时: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
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)
想想看,它与淡入一起工作,因为文本变得越来越暗,但与淡出不起作用,因为你是在旧文本的顶部快速移动