gpt4 book ai didi

python - 为什么在pygame中文本显示2秒

转载 作者:行者123 更新时间:2023-12-04 04:06:10 25 4
gpt4 key购买 nike

我显示的文本只显示了大约 2 秒。我希望它会在我点击到其他区域时显示

elif msg[0:7] == 'YOU WIN' and Message_id == '200':
print('You Win')
textSurface = font.render('You Win', True, (0, 0, 0))
largeText = pygame.font.Font('freesansbold.ttf', 115)
TextSurf = pygame.font.render('You Win', True, (0, 0, 0))
TextRect = textSurface.get_rect()
TextRect.center = ((600 / 2), (700 // 2))
surface.blit(TextSurf, TextRect)
grid.draw(surface)
pygame.display.flip()
break

最佳答案

如果你想永久地绘制一些东西,你需要在应用程序循环中绘制它。典型的 PyGame 应用程序循环必须:

在初始化时创建文本表面:

winTextSurf = font.render('You Win', True, (0, 0, 0))
winTextRect = winTextSurf.get_rect(topleft = (600 // 2, 700 // 2)

添加一个变量,指示需要绘制的文本:

drawWinText = Fasle

如果需要绘制文字,设置变量:

elif msg[0:7] == 'YOU WIN' and Message_id == '200':
drawWinText = True
break

当不想再绘制文字时,需要重新设置值。

drawWinText = False

根据 drawWinText 的状态在主应用程序循环中绘制文本:

while run:

# [...]

if drawWinText:
surface.blit(winTextSurf, winTextRect)

pygame.display.flip()

查看问题 Python - Pygame - rendering translucent text 的答案了解如何绘制透明文本。

关于python - 为什么在pygame中文本显示2秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62459547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com