ich habe zwei Klassen erstellt, eine Klasse "Game" und eine Klasse "Player".
In der Game-Klasse erstelle ich mein Fenster, in der Player-Klasse möchte ich diesen auf den in der Game-Klasse erstellten screen zeichnen. Hierbei komme ich jedoch leider nicht weiter. Ich habe schon diverse Möglichkeiten probiert, u.a. hieß es in einem Forum man muss hierzu die erste Klasse als Instanz an die zweite Klasse übergeben. Vermutlich habe ich es falsch gemacht, denn es hat nicht funktioniert. Könnt ihr mir weiterhelfen?
Mein aktueller Code sieht folgendermaßen aus (ohne gerade beschriebenen Lösungsversuch)
Code: Alles auswählen
#main.py
import pygame
from game import Game
from player import Player
running = True
game = Game()
player = Player(game.screen)
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player.render()
game.update()
pygame.quit()
Code: Alles auswählen
#game.py
import pygame
import config
class Game:
def __init__(self):
#Pygame setup
pygame.init()
self.screen = pygame.display.set_mode((config.SCREEN_WIDTH, config.SCREEN_HEIGHT))
pygame.display.set_caption(config.SCREEN_CAPTION)
self.clock = pygame.time.Clock()
def update(self):
self.screen.fill(config.BACKGROUND_COLOR)
pygame.display.flip()
self.clock.tick(config.FPS)
Code: Alles auswählen
#player.py
import pygame
import config
class Player:
def __init__(self, screen):
self.screen = screen
def render(self):
pygame.draw.rect(self.screen, config.PLAYER_COLOR, (0, 0, 32, 32), 2)