我之前问过一个关于多重碰撞检测的问题,但是我没有创建代码来解决这个问题的技能,我只是添加了第二个墙,并试图设置一个计时器。
我的问题是如何在代码中加入计时器?
它需要倒计时,当它点击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()
你可以这么做
您可以在一段时间后生成事件。见:http://www.pygame.org/docs/ref/time.html#pygame.time.set_timer
使用与现在类似的代码,您可以查看事件是否是计时器事件并相应地执行操作。
正如Hans所说,您可以使用
pygame.time.set_timer()
方法在经过特定时间后调用函数。但在显示时间流逝方面,使用另一种方法可能更好。使用
pygame.time.Clock.tick_busy_loop
方法,您可以控制游戏运行的FPS数,并跟踪经过的时间,因为它返回自上次调用以来经过的毫秒数:相关问题 更多 >
编程相关推荐