首页 > 解决方案 > 如何在 Pygame 中添加背景图片

问题描述

我想添加背景图像作为创建基本游戏的一个步骤,但似乎我找不到方法。我要导入的图像与屏幕大小相同,并且是 bmp 图像。

self.bg_color = (230, 230,230)我的设置文件夹中也有这行代码,如果我想在背景中对图像进行 blit ,我确信但不是 100% 需要删除 ( )。

import sys
import pygame
from altarboy import Altarboy
from Ship import Ship
from bullet import bullet
from bullet1 import bullet1
from settings import Settings


class SpiritualWar:

    def __init__(self):    
        pygame.init()
        self.settings = Settings()
        self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
        pygame.display.set_caption("SpiritualWar")
        self.Ship = Ship(self)
        self.bullets = pygame.sprite.Group()
        self.bullet1s = pygame.sprite.Group()
        self.altarboys = pygame.sprite.Group()
        self._create_fleet()
…
…
    def _update_screen(self):
        self.screen.fill(self.settings.bg_color)
        self.Ship.blitme()
        for bullet in self.bullets.sprites():
            bullet.draw_bullet()
        for bullet1 in self.bullet1s.sprites():
            bullet1.draw_bullet1()
        self.altarboys.draw(self.screen)
        pygame.display.flip()

标签: pythonpygame

解决方案


如何在 python-pygame 中添加背景图像的可能副本。我还建议您查看Pygame:添加背景。下次,在提问之前花几分钟在 StackOverflow 中搜索您的问题。这样,帖子会更少,所以会更干净,这有助于轻松找到解决方案。

我自己无法测试解决方案,但您可以尝试将下一行添加到函数中__init__()

self.bg_image = pygame.image.load("player1.png")

然后在函数中更改您的第一行_update_screen()

self.screen.fill(self.settings.bg_color)

为了:

self.screen.blit(self.bg_image, (0, 0))

推荐阅读