练习 12.1:蓝色的天空 创建一个背景为蓝色的 Pygame 窗口。
提前准备的工作:在sublime里安装Terminus插件,用来运行命令行。
使用Sublime Text创建工程项目:
在Sublime Text中,选择 Project > Add Folder to Project…
选择12.1的文件夹,然后点击open
按住快捷键Cmd+Shift+P,打开输入Terminus: Toggle Panel唤起命令行工具
开始安装 pygame 库:
1.检查Python和pip是否已安装,在终端工具里输入python3 --version 和 pip3 --version
2.在当前项目中创建虚拟环境python3 -m venv venv
3.激活虚拟环境source venv/bin/activate
4.在虚拟环境中安装pygame
在当前页面按cmd+s保存py文件命名为alien_invasion.py
同时创建py文件settings.py
两个文件:alien_invasion.py和settings.py
alien_invasion.py
import sys
import pygame
from settings import Settings
class AlienInvasion:
"""管理游戏资源和行为的类"""
def __init__(self):
"""初始化游戏兵创建游戏资源"""
pygame.init()
self.clock = pygame.time.Clock()
self.settings = Settings()
self.screen = pygame.display.set_mode((self.settings.SCREEN_WIDTH, self.settings.SCREEN_HEIGHT))
pygame.display.set_caption("Alien Invasion")
def run_game(self):
"""开始游戏的主循环"""
while True:
# 监听键盘和鼠标事件
self._check_events()
# 每次循环时都会重绘屏幕
self._update_screen()
self.clock.tick(60)
def _check_events(self):
"""响应按键和鼠标事件"""
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
def _update_screen(self):
"""更新屏幕上的图像,并切换到新屏幕"""
self.screen.fill(self.settings.BG_COLOR)
#让最近绘制的屏幕可见
pygame.display.flip()
if __name__ == '__main__':
#创建游戏实例兵运行游戏
ai = AlienInvasion()
ai.run_game()
settings.py
class Settings:
"""存储游戏《外星人入侵》中所有设置的类"""
def __init__(self):
"""初始化游戏的设置"""
#屏幕设置
self.SCREEN_WIDTH = 1200
self.SCREEN_HEIGHT = 800
#蓝色的RGB颜色值是(0, 0, 255)
self.BG_COLOR = (0, 0, 255)
在终端中运行python3 alien_invasion.py
背景为蓝色的页面展示