继续编写下去时我们发现一个应该被解决的问题——每当我们要添加设置时,就在代码出随处添加,到时候维护代码时很不方便。
所以我们添加了一个模块专门用来存放各种设置,命名为settings.py,其中有个settings类.
class Settings(): """存储《外星人入侵》的所有设置的类""" def __init__(self): """初始化游戏的设置""" # 屏幕设置 self.screen_width = 600 self.screen_height = 400 self.bg_color = (230, 230, 230)
代码随之改成,
--snip-- import pygame from settings import Settings def run_game(): """初始化游戏并创建一个屏幕对象""" # 初始化pygame pygame.init() # 为Settings创建一个实例对象 ai_settings = Settings() # 创建一个显示窗口,宽600像素,高400像素 screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height)) # 显示窗口的标题为'Alien Invasion' pygame.display.set_caption('Alien Invasion') # 开始游戏的主循环 while True: --snip-- # 每次循环都重新绘制屏幕 screen.fill(ai_settings.bg_color) # 让最近绘制的屏幕可见 pygame.display.flip() run_game()
效果与之前的无异。