猿问

游戏中的倒计时器

游戏中的倒计时器

我开始使用游戏,我想做简单的游戏。我需要的元素之一是倒计时器。我如何做倒计时时间(如10秒)在派克游戏?



婷婷同学_
浏览 1467回答 3
3回答

狐的传说

另一种简单的方法是简单地使用游戏的事件系统。下面是一个简单的例子:import pygame pygame.init()screen = pygame.display.set_mode((128, 128))clock = pygame.time.Clock()counter, text = 10, '10'.rjust(3) pygame.time.set_timer(pygame.USEREVENT, 1000)font = pygame.font.SysFont('Consolas', 30)while True:     for e in pygame.event.get():         if e.type == pygame.USEREVENT:              counter -= 1             text = str(counter).rjust(3) if counter > 0 else 'boom!'         if e.type == pygame.QUIT: break     else:         screen.fill((255, 255, 255))         screen.blit(font.render(text, True, (0, 0, 0)), (32, 48))         pygame.display.flip()         clock.tick(60)         continue     break

慕运维8079593

pygame.time.Clock.tick返回时间(以毫秒为单位)。clock.tick打电话(三角洲时间,&nbsp;dt),所以您可以使用它来增加或减少计时器变量。import&nbsp;pygame&nbsp;as&nbsp;pgdef&nbsp;main(): &nbsp;&nbsp;&nbsp;&nbsp;pg.init() &nbsp;&nbsp;&nbsp;&nbsp;screen&nbsp;=&nbsp;pg.display.set_mode((640,&nbsp;480)) &nbsp;&nbsp;&nbsp;&nbsp;font&nbsp;=&nbsp;pg.font.Font(None,&nbsp;40) &nbsp;&nbsp;&nbsp;&nbsp;gray&nbsp;=&nbsp;pg.Color('gray19') &nbsp;&nbsp;&nbsp;&nbsp;blue&nbsp;=&nbsp;pg.Color('dodgerblue') &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;The&nbsp;clock&nbsp;is&nbsp;used&nbsp;to&nbsp;limit&nbsp;the&nbsp;frame&nbsp;rate &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;and&nbsp;returns&nbsp;the&nbsp;time&nbsp;since&nbsp;last&nbsp;tick. &nbsp;&nbsp;&nbsp;&nbsp;clock&nbsp;=&nbsp;pg.time.Clock() &nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;=&nbsp;10&nbsp;&nbsp;#&nbsp;Decrease&nbsp;this&nbsp;to&nbsp;count&nbsp;down. &nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;=&nbsp;0&nbsp;&nbsp;#&nbsp;Delta&nbsp;time&nbsp;(time&nbsp;since&nbsp;last&nbsp;tick). &nbsp;&nbsp;&nbsp;&nbsp;done&nbsp;=&nbsp;False &nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;not&nbsp;done: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;event&nbsp;in&nbsp;pg.event.get(): &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;event.type&nbsp;==&nbsp;pg.QUIT: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;done&nbsp;=&nbsp;True &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;-=&nbsp;dt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;timer&nbsp;<=&nbsp;0: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;=&nbsp;10&nbsp;&nbsp;#&nbsp;Reset&nbsp;it&nbsp;to&nbsp;10&nbsp;or&nbsp;do&nbsp;something&nbsp;else. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen.fill(gray) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;txt&nbsp;=&nbsp;font.render(str(round(timer,&nbsp;2)),&nbsp;True,&nbsp;blue) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen.blit(txt,&nbsp;(70,&nbsp;70)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pg.display.flip() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;=&nbsp;clock.tick(30)&nbsp;/&nbsp;1000&nbsp;&nbsp;#&nbsp;/&nbsp;1000&nbsp;to&nbsp;convert&nbsp;to&nbsp;seconds.if&nbsp;__name__&nbsp;==&nbsp;'__main__': &nbsp;&nbsp;&nbsp;&nbsp;main() &nbsp;&nbsp;&nbsp;&nbsp;pg.quit()
随时随地看视频慕课网APP

相关分类

Python
我要回答