所以我试图在“场景”类中创建一个函数,只要按下“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”之后也可以显示几帧。
提前致谢。
答案 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
这样一旦计数器结束,文本就会消失
希望有所帮助!