想让pygame从按下botton键的一刻起开始计时,该怎么做
时间: 2024-02-27 13:52:06 浏览: 59
你可以使用 `pygame.time.get_ticks()` 函数来获取当前时间,然后记录下按下按钮的时刻,然后在游戏循环中不断计算时间差,即可得到按下按钮后经过的时间。以下是一个示例代码:
```python
import pygame
pygame.init()
# 设置窗口
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('计时器')
# 设置字体
font = pygame.font.SysFont('Arial', 32)
# 记录按下按钮的时间
start_time = None
# 游戏循环
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
# 按下空格键,记录下当前时间
start_time = pygame.time.get_ticks()
# 绘制背景
screen.fill((255, 255, 255))
# 计算经过的时间
if start_time is not None:
elapsed_time = (pygame.time.get_ticks() - start_time) / 1000 # 将毫秒转换为秒
text = font.render('经过的时间:{:.2f}秒'.format(elapsed_time), True, (0, 0, 0))
screen.blit(text, (screen_width // 2 - text.get_width() // 2, screen_height // 2 - text.get_height() // 2))
# 更新屏幕
pygame.display.update()
pygame.quit()
```
在上面的代码中,我们记录下按下空格键的时间,然后在游戏循环中不断计算经过的时间,并将其显示在屏幕中央。你可以将 `pygame.K_SPACE` 替换为你想要的按键。
阅读全文