如何在 PyGame 中的图像之上显示图像?

How can I display an image on top of an image in PyGame?

我正在 Python 3 中使用库 PyGame 创建一个 Pong 版本。我正在尝试将图像渲染为 "table" 背景,然后显示 球在它上面。我的问题是球是唯一显示的图像,显​​示黑色背景。但是,如果我删除与球有关的代码,则会显示 "table" 图像。如何在 table 上方渲染球?

import pygame

pygame.init()

size = [500,500]
speed = [2,2]
screen = pygame.display.set_mode(size)


table = pygame.image.load('table.jpg')
table_rect = table.get_rect()



paddle_one = table = pygame.image.load('paddle.jpg')
paddle_one_rect = paddle_one.get_rect()





while True:

    screen.blit(table, table_rect)

    screen.blit(paddle_one, paddle_one_rect)
    pygame.display.update()

在我看来问题是您通过调用

覆盖了您的tablepygame.Surface实例
paddle_one = table = pygame.image.load('paddle.jpg')

尝试删除第二个分配

paddle_one = pygame.image.load('paddle.jpg')

现在两个表面tablepaddle_one存储不同图像 并且可以使用 Pygames .blit() 方法 blitt 到另一个表面(例如 screen)。

希望对您有所帮助:)