Pygame - 即使在按下按键后也会出现模糊文本

时间:2013-08-27 03:16:57

标签: python loops text pygame blit

所以我试图在“场景”类中创建一个函数,只要按下“z”就会弹出文本并继续blitting一段时间。

如果我使用pygame.key.get_pressed(),它只会在按下Z时闪电战。我希望它在按下Z时弹出,并继续在屏幕上停留一段时间。

##This is inside the "scene" class##

def printText(self, surface):
    if self.counter < 20:
        text = pygame.font.SysFont("Pixelated Regular", 30)
        label = text.render("Hello", 0, (0,0,0,))
        surface.blit(label, (100,100))
        self.counter += 1


##This is inside the main##
if key[pygame.K_z]:
        robsHouse.printText(screen)

以防万一之前我没有说清楚:我基本上希望它的文本即使在我放开“z”之后也可以显示几帧。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我要做的是创建一个布尔值来定义按钮是否被按下

以下是一个例子:

self.pressed = False

if key[pygame.K_z]:
    self.pressed = True

if self.pressed:
    robsHouse.printText(screen)

然后当你希望文本消失时将self.pressed设置为False并且它将不再被发送

像这样:

def printText(self, surface):
    if self.counter < 20:
        text = pygame.font.SysFont("Pixelated Regular", 30)
        label = text.render("Hello", 0, (0,0,0,))
        surface.blit(label, (100,100))
        self.counter += 1
    else:
        self.pressed = False

这样一旦计数器结束,文本就会消失

希望有所帮助!