Ich bekomme diesen Fehler immer wieder. Hier ist die vollständige Rückverfolgung.AttributeError: 'pygame.Surface' Objekt hat kein Attribut 'rect'
Traceback (most recent call last):
File "C:/Users/Luc/PycharmProjects/game_practice/game.py", line 23, in
<module>
run_game()
File "C:/Users/Luc/PycharmProjects/game_practice/game.py", line 13, in
run_game
player = Player(ai_settings, screen)
File "C:\Users\Luc\PycharmProjects\game_practice\player.py", line 8, in
__init__
self.rect.centerx = screen.rect.left
AttributeError: 'pygame.Surface' object has no attribute 'rect'
Hier ist der Code für den „Player“ Datei, die ein Problem hat das:
class Player:
def __init__(self, ai_settings, screen):
self.screen = screen
self.screen_rect = screen.get_rect()
self.rect = pygame.Rect((0, 0), (ai_settings.player_width,
ai_settings.player_height))
self.rect.centerx = screen.rect.left
self.rect.centery = screen.rect.ai_settings.screen_height/2
self.color = ai_settings.player_color
def draw_player(self):
pygame.draw.rect(self.screen, self.color, self.rect)
Wenn ich kommentieren Sie diese beiden Zeilen:
self.rect.centerx = screen.rect.left
self.rect.centery = screen.rect.ai_settings.screen_height/2
Das Programm läuft mit dem initialisierten Rechteck (0,0) wie es sein sollte, also bin ich mir nicht wirklich sicher, warum das Objekt einen Attributfehler hat, wenn ich die anderen Zeilen einschließe.