screen.fill不显示背景色

时间:2020-07-23 11:28:40

标签: python python-3.x pygame

我已经开始编写游戏程序,但是我不知道为什么背景屏幕颜色没有变化。它只是黑色。我在做什么错了?

import sys
import pygame

def run_game():
    pygame.init()
    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption("Alien Invasion")
    bg_color = (230, 230, 230)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

    screen.fill(bg_color)
    pygame.display.flip()

run_game()

我在Windows计算机上,正在使用VS Code。

1 个答案:

答案 0 :(得分:0)

这是Indentation的问题。您必须在应用程序循环而不是在应用程序循环之后绘制背景和更新显示:

def run_game():
    pygame.init()
    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption("Alien Invasion")
    bg_color = (230, 230, 230)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

    # INDENTATION

    #-->|

        screen.fill(bg_color)
        pygame.display.flip()