python 小菜鸟,用 pycharm 写小游戏的代码问题,代码直接在下面 麻烦大家看看,代码 报错非常详尽 麻烦帮帮忙啦

1.现在就是起步阶段 只有两个文件
alien_invasion.py 和 settings.py

  1. 代码
    先是 alien-invasion.py

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("Alien Invasion")

    bg_color=(230,230,230)

    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()

再是settings.py

class Settings():


    def _init_(self):


        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (230,230,230)
  1. 运行alien_invasion.py后
    报错如下

Traceback (most recent call last):
  File "C:/Users/ABC/Desktop/python_work/alien_invasion.py", line 23, in <module>
    run_game()
  File "C:/Users/ABC/Desktop/python_work/alien_invasion.py", line 12, in run_game
    (ai_settings.screen_width, ai_settings.screen_height))
AttributeError: Settings instance has no attribute 'screen_width'

Process finished with exit code 1

3.我检查,和书上对照了三遍 没有打错啊
所以不知道问题到底是什么,,就来问问
就这样 麻烦大家帮帮忙啦

阅读 8.9k
3 个回答

__init__而非_init_

新手上路,请多包涵

楼主怎么解决的呀 我也卡了 已经半天了

新手上路,请多包涵

ai_settings.screen_width, ai_settings.screen_height
我直接改成了元组

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题