gpt4 book ai didi

python - pygame的倒数计时器

转载 作者:行者123 更新时间:2023-11-28 22:54:30 25 4
gpt4 key购买 nike

我之前问过一个关于多重碰撞检测的问题,但我没有创建代码来解决该问题的技能,我只是添加第二堵墙并尝试放入计时器。

我的问题是如何将计时器放入我的代码中?

它需要倒计时,当它到达 00:00 时显示文本:GAME OVER 并结束游戏。如果有帮助,我将放入我的代码的主线。如果您需要更多代码,例如类等。我很乐意发布。

while done == False:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True

#This makes the player move
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player.changespeed(-6,0)
if event.key == pygame.K_RIGHT:
player.changespeed(6,0)
if event.key == pygame.K_UP:
player.changespeed(0,-6)
if event.key == pygame.K_DOWN:
player.changespeed(0,6)

#This stops the player from moving
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
player.changespeed(6,0)
if event.key == pygame.K_RIGHT:
player.changespeed(-6,0)
if event.key == pygame.K_UP:
player.changespeed(0,6)
if event.key == pygame.K_DOWN:
player.changespeed(0,-6)

player.updateWall(wall_list)

window.fill(black)

movingsprt.draw(window)
wall_list.draw(window)

pygame.display.flip()

clock.tick(40)

pygame.quit()

最佳答案

就像 Hans 然后说的,您可以使用 pygame.time.set_timer() 方法在经过特定时间后调用函数。但就显示已经过去了多少时间而言,您最好使用另一种方法。

使用 pygame.time.Clock.tick_busy_loop 方法,您可以控制您的游戏以多少 FPS 运行并跟踪已经过了多少时间,因为它会返回自最后通话:

clock = pygame.time.Clock()
minutes = 0
seconds = 0
milliseconds = 0

while True: #game loop
#do stuff here
if milliseconds > 1000:
seconds += 1
milliseconds -= 1000
if seconds > 60:
minutes += 1
seconds -= 60

print ("{}:{}".format(minutes, seconds))

milliseconds += clock.tick_busy_loop(60) #returns the time since the last time we called the function, and limits the frame rate to 60FPS

关于python - pygame的倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18012431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com