首页 > 解决方案 > Pygame只显示黑屏

问题描述

我是 Pygame 的新手,所以我在开始实际游戏之前做了一些测试,但是当我执行代码时,我得到的只是黑屏,即使我已经指定了一种颜色,我也尝试使用该blit方法,但仍然显示只有黑屏。这是我在 Ubuntu 20.04 和 Python 3.8 上的代码和输出:

import pygame

pygame.init()

s = pygame.display.set_mode((1000,500))

testImg = pygame.image.load('player.png')
testX = 500
testY = 250

def test(x, y):
    s.blit(testImg, (x,y))

# Game Loop:
running = True
while running:
    s.fill((113,113,113))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    test(testX, testY)

这是输出: 在此处输入图像描述

标签: pythonpygamepython-3.8

解决方案


您错过了pygame.display.flip()在应用程序循环结束时更新显示:

running = True
while running:
    s.fill((113,113,113))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    test(testX, testY)

    pygame.display.flip() # <---

一个最小的pygame应用程序循环必须:


推荐阅读