Как добавить фоновое изображение в Pygame - PullRequest
2 голосов
/ 06 ноября 2019

Я хотел бы добавить фоновое изображение в качестве шага к созданию основной игры, но мне кажется, что я не могу найти способ. Изображение, которое я пытаюсь импортировать, имеет тот же размер, что и экран, и это изображение 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 Ответ

2 голосов
/ 06 ноября 2019

Возможный дубликат Как добавить фоновое изображение в python-pygame . Также рекомендую посмотреть Pygame: добавление фона . В следующий раз потратьте несколько минут на поиск вашего вопроса в 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...