main.py
import sys
import pygame
from settings import Settings
def run_game():
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode(
(ai_settings.screen_width, ai_settings.screen.height))
pygame.display.set_caption("Rocket Flying")
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill(ai_settings.bg_color)
pygame.display.flip()
run_game()
设置.py
class Settings():
def __init__(self):
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (87,250,255)
追踪(最近一次通话):
File "C:UsersC4nEzraDesktopProgramRocket_Flayingmain.py", line 24, in <module> run_game() File "C:UsersC4nEzraDesktopProgramRocket_Flayingmain.py", line 11, in run_game (ai_settings.screen_width, ai_settings.screen.height)) AttributeError: 'Settings' object has no attribute 'screen'
在代码中,最初为set_mode(...)
函数中的第一个参数编写ai_settings.screen_width
,但第二个参数具有ai_settings.screen.height
。很可能您需要将第二个句点替换为下划线(ai_settings.screen_height
)。