如何在Pygame中显示图片?

时间:2019-12-15 21:56:39

标签: python pygame sprite

这只是有关pygame中精灵的一个快速问题,我按以下代码加载了图片,我只是想知道如何在pygame中显示精灵,例如绘制矩形或圆形。无论如何,我都不想让它表现出来。我想我使用的是blit命令,但是我不确定,网上也找不到很多。

这是我的图像代码,用于加载它。

Star = pygame.image.load('WhiteStar.png').convert_alpha()

您可以仅提供加载精灵的轮廓。我只想显示它。

1 个答案:

答案 0 :(得分:0)

使用 blit 绘制图像。实际上 blit 将一个 Surface 绘制到另一个上。因此,您需要将图像blit 放到与显示器关联的表面上。
您需要指定图像在目标上blit 的位置。位置可以由定义左上角位置的一对坐标指定。或者也可以用矩形指定,只考虑矩形的左上点:

screen = pygame.dispaly.set_mode((width, height))
star = pygame.image.load('WhiteStar.png').convert_alpha()

# [...]

while run:
    # [...]

    screen.blit(star, (x, y))

    # [...]

当您想将曲面的中心放置在特定点时,请使用 pygame.Rectpygame.Surface.get_rect.get_rect() 返回一个具有 Surface 对象大小的矩形,该矩形总是从 (0, 0) 开始,因为 Surface 对象没有位置。矩形的位置可以通过关键字参数指定。例如,矩形的中心可以用关键字参数 center 指定。这些关键字参数在返回之前应用于 pygame.Rect 的属性(有关关键字参数的完整列表,请参阅 pygame.Rect):

screen.blit(star, star.get_rect(center = (x, y)))