如何在Pygame中添加背景图片

时间:2019-11-06 13:46:29

标签: python pygame

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

我的设置文件夹中也有这行代码,如果我想在后台将图像变白,我可以确定但不必100%删除(self.bg_color = (230, 230,230))。

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()

1 个答案:

答案 0 :(得分:2)

可能是How to add a background image in python-pygame的副本。我还建议您查看Pygame: Adding a background。下次,花一些时间在问问题之前在StackOverflow中搜索您的问题。这样一来,职位将减少,SO将会更清洁,这有助于轻松找到解决方案。

我无法亲自测试解决方案,但是您可以尝试将下一行添加到功能__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))