Python Pygame显示屏';那是黑屏

Python Pygame显示屏';那是黑屏,python,Python,我做了一些研究,看看我是否可以用这种方式解决这个问题,但似乎没有找到任何解决我问题的方法。我发现了这两个:和。我试图用评论中的建议来解决我的问题,但没有成功,或者问题的原因与我的不同 当我运行代码时,pygame窗口会显示,但完全是黑色的,但不会调用任何错误 下面是代码(可能有点长) 游戏循环中的渲染逻辑只需缩进,它是其中while循环的一部分,如下所示: while not gameExit: for event in pygame.event.get(): if ev

我做了一些研究,看看我是否可以用这种方式解决这个问题,但似乎没有找到任何解决我问题的方法。我发现了这两个:和。我试图用评论中的建议来解决我的问题,但没有成功,或者问题的原因与我的不同

当我运行代码时,pygame窗口会显示,但完全是黑色的,但不会调用任何错误

下面是代码(可能有点长)


游戏循环中的渲染逻辑只需缩进,它是其中while循环的一部分,如下所示:

while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()

        if event.type == pygame.KEYDOWN:
            if event.type == pygame.K_LEFT:
                x_change = -20

            elif event.type == pygame.K_RIGHT:
                x_change = 20

        if event.type == pygame.KEYUP:
            if event.type == pygame.K_LEFT or pygame.K_RIGHT:
                x_change = 0

    x += x_change

    gameDisplay.blit(background(0,0))
    player(x,y)
    bluekid(bluex, bluey, bluew, blueh)
    redkid(redx, redy, redw, redh)
    greenkid(greenx, greeny, greenw, greenh)
    pygame.display.update()
    clock.tick(30)

看起来渲染代码实际上并不在游戏循环中,请检查缩进。(编辑:这是在游戏循环方法中,但不是在while循环中)哦,天哪,我已经盯着代码的这一部分看了两个小时,没有注意到,非常感谢@AndyM!np-我将作为答案发布
while not gameExit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()

        if event.type == pygame.KEYDOWN:
            if event.type == pygame.K_LEFT:
                x_change = -20

            elif event.type == pygame.K_RIGHT:
                x_change = 20

        if event.type == pygame.KEYUP:
            if event.type == pygame.K_LEFT or pygame.K_RIGHT:
                x_change = 0

    x += x_change

    gameDisplay.blit(background(0,0))
    player(x,y)
    bluekid(bluex, bluey, bluew, blueh)
    redkid(redx, redy, redw, redh)
    greenkid(greenx, greeny, greenw, greenh)
    pygame.display.update()
    clock.tick(30)