Pygame - класс окна и спрайта - python
Я пытаюсь создать класс окна, который напоминает класс, в котором живут спрайты. В классе окна я хочу иметь следующие вещи:
set_background ()set_size ()add_sprite ()remove_sprite ()В классе спрайта я хочу следующие методы:
draw_sprite ()На данный момент у меня будет один спрайт, но я бы хотел получить список спрайтов.
Я попытался запустить то, что у меня есть в главном классе, вызывая эти методы в его экземплярах.
window = Window(200,200)
sprite = Sprite(Window)
window.set_Background()
sprite.draw_sprite()
Вот мой код:
Спрайт класс:
import pygame
pygame.init()
class Sprite(object):
def __init__(self, World =None, sprite=[]):
self.Window = window
def draw_sprite(self,sprite,x,y):
sprite=pygame.image.load(sprite)
self.World.window.blit(sprite,(x,y))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
Окно класс:
import pygame,sys,os from pygame.locals import *
from Window import *
class Panel:
def __init__(self, width=None,height=None):
self.width= width
self.height = height
self.foreground=pygame.Surface((width, height))
self.background= pygame.Surface((width, height))
self.rect= self.foreground.get_rect()
def clear(self):
self.foreground.blit(self.background,(0,0))
def set_background(self, image=None):
if sky is not None:
bg = Window.draw_world(self,image)
self.background.blit(bg,(width,height))
class Window(Panel):
pygame.init()
def __init__(self,width,height):
self.window = pygame.display.set_mode((width,height))
self.width=width
self.height=height
Panel.__init__(self, width, height)
self._foreground = self.window
self.set_background()
def draw_world(self,image):
image=pygame.image.load(image)
for x in range(0,(290/image.get_width()+1)):
for y in range(0,(230/image.get_height()+1)):
self.background.blit(image,(x*200,y*200))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
def window_setSize(width,height):
self.width=width
self.heght =height
основной класс:
from Sprite import *
from window import *
sprite = Sprite()
window=Window()
sprite.draw_sprite("sprite.png",100,200)
window.set_background("bg.png")
Кто-нибудь получил какие-либо идеи, почему отображается спрайт, но мой фон нет? Это просто показывает черный фон.
Я использую Python 3 и Pygame 3.3 Спасибо