我目前正在使用 pygame 制作一个函数,该函数在屏幕上绘制一条消息,每帧添加一个字符(即The Hunt for Red October)。我知道我可以简单地从原始字符串中复制(或传递)逐渐变大的切片,但我知道这将非常耗费资源。有一个更好的方法吗?
代码,使用逐渐变大的切片:
def full_screen_dialog_tt(thesurface, thefont, theclock, message, thebeep):
i = 0
while(i < len(message)): # Initialize the string display
theclock.tick(60)
thesurface.fill((0, 0, 0))
thesurface.blit(thefont.render(message[i]+"_"))
pygame.display.flip()
thebeep.play()
while(1): # Whole string is here now
theclock.tick(60)
for event in pygame.events.get():
if event.type == MOUSEBUTTONDOWN: return