У меня ошибка, когда я запускаю она не видит screen, хотя screen есть
вот мой код
import sys
import pygame
import settings
import ship
from settings import Settings
from ship import Ship
class AlienInvasion:
pygame.init()
'''Класс для управления ресурсами и поведением игры'''
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('Alien Invasion')
self.ship = Ship(screen)
def run_game(self):
while True:
#Отслеживание событий клавиатуры и мыши
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# При каждом проходе цикла перерисовывается экран
self.screen.fill(self.settings.bg_color)
self.ship.blitme()
# Отображение последнего прорисованного экрана
pygame.display.flip()
if __name__ == '__main__':
#создание экземпляра и запуск игры
ai = AlienInvasion()
ai.run_game()
и вот ошибка
File "C:\Users\KLONDIKE\OneDrive\Рабочий стол\game py\alien_invasion.py", line 36, in <module>
ai = AlienInvasion()
^^^^^^^^^^^^^^^
File "C:\Users\KLONDIKE\OneDrive\Рабочий стол\game py\alien_invasion.py", line 20, in __init__
self.ship = Ship(screen)
^^^^^^
NameError: name 'screen' is not defined
я старался делать все, что пришло мне в голову. Можете помочь кому не лень :)