制作暂停画面

问题描述

我正在尝试制作暂停屏幕功能,但图像快门并出现延迟很好。任何 想法 这是我的代码

Pauselogo = pg.image.load('Stop.png')
Pause = pg.image.load('Pause.png')

#------------------------------------------
while running:
clock.tick(FPS)
for event in pg.event.get():
    if event.type == pg.QUIT:
        running = False
    if event.type == pg.KEYDOWN:
        
        if event.key == pg.K_SPACE:
            paused = not paused


    if paused == True:
        clock.tick(27)
        screen.blit(Pauselogo,(0,0))
        screen.blit(Pause,(400,330))
        

   


if not paused:
    all_sprites.update()

screen.fill(DARKGRAY)
all_sprites.draw(screen)

解决方法

根据paused的状态绘制不同的场景:

while running:
    clock.tick(FPS)
    for event in pg.event.get():
        if event.type == pg.QUIT:
            running = False
    
        if event.type == pg.KEYDOWN:
            if event.key == pg.K_SPACE:
                paused = not paused

    if paused == True:
        screen.blit(PauseLogo,(0,0))
        screen.blit(Pause,(400,330))
    else:
        all_sprites.update()
        screen.fill(DARKGRAY)
        all_sprites.draw(screen)

    pygame.display.update()

注意,pygame.time.Clock.tick() 测量自上次调用此函数以来的时间并延迟应用程序。如果在应用中调用两次,应用会延迟两次。