现在开始开发游戏《外星人入侵》,创建一个空的Pygame窗口,导入模块sys和pygame,其中sys模块用于退出游戏。
关于背景的设置放在Settings类中,以免在代码中添加设置。在下面主程序文件中导入Settings类。同样创建一个Ship类,它负责管理飞船的大部分行为,并在主程序中导入Ship类。
pygame.init()用于初始化背景设置,创建一个Settings实例并储存在ai_settings中。我们调用pygame.display.set_mode()来创建一个名为screen的显示窗口,参数是一个元组使用了ai_settings的属性用于指定游戏窗口的尺寸,我们可以在Settings类中进行修改。接着创建一个名为ship的Ship实例,一定要在循环之前,防止每次循环都创建一艘飞船。在后面调用ship.blitme()将飞船绘an制在屏幕上。
这个游戏由一个循环控制,包含一个事件循环和管理屏幕的代码。事件使用户游戏时的操作,如按键及鼠标的移动。使用pygame.event.get()访问pygame检测到的事件。当玩家单击游戏窗口的关闭按钮时即检测到pygame.QUIT事件,将调用sys.exit()退出游戏。调用 pygame.display.flip()不断更新屏幕,调用screen.fill()用背景颜色填充屏幕,此方法只接受一个实参,即一种颜色。最后调用run_game()初始化游戏并开始主循环。
# _*_ coding:gb2312 _*_
import sys
import pygame
from settings import Settings
from ship import Ship
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings=Set