1281319768 发表于 2023-1-2 17:35:48

外星人入侵按照书上输入的,但是一直显示AttributeError: 'Settings' object has n...

本帖最后由 1281319768 于 2023-1-2 17:37 编辑

import sys

import pygame

from shezhi import Settings

class AlienInvasion:
    """管理游戏资源和行为的类"""

    def __init__(self):
      """初始化游戏并创建游戏资源。"""
      pygame.init()

      self.ai_settings = Settings()

      self.screen = pygame.display.set_mode((self.ai_settings.screen_width, self.ai_settings.screen_height))
      # pygame.display.set_mode()创建了一个显示窗口,其中((size),flags)两类参数,size为窗口尺寸,flags为其他窗口设置
      pygame.display.set_caption("Alien Invasion")
      # pygame.display.set_caption("")给这个窗口进行了命名

    def run_game(self):
      """开始游戏的主循环"""
      while True:
            # 监视键盘和鼠标事件
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                  sys.exit()                  # 窗口的退出按钮X
            self.screen.fill(self.ai_settings.bg_color)    # 每次循环时重新绘制屏幕

            # 让最近绘制的屏幕可见。
            pygame.display.flip()


if __name__ == '__main__':
    # 创建游戏实例并运行游戏
    ai = AlienInvasion()
    ai.run_game()

class Settings:
    """存储游戏《外星人入侵》的所有设置的类"""

def __int__(self):
      """初始化游戏设置"""
      self.screen_width = 1200
      self.screen_height = 800
      self.bg_color = (230, 230, 230)

suchocolate 发表于 2023-1-3 14:51:19

类Settings的__init__函数缩进有问题,名字也写错了

1281319768 发表于 2023-1-3 15:31:48

谢谢大佬
页: [1]
查看完整版本: 外星人入侵按照书上输入的,但是一直显示AttributeError: 'Settings' object has n...