12-武装飞船

在本章中,你将安装Pygame,再创建一艘能够根据用户输入左右移动和射击的飞船。

12.1 规划项目

在游戏《外星人入侵》中,玩家控制一艘最初出现在屏幕底部中央的飞船。玩家可以使用箭头键左右移动飞船,还可使用空格键射击。游戏开始时,一群外星人出现在天空中,并向屏幕下方移动。玩家的任务是射杀这些外星人。玩家将所有外星人都消灭干净后,将出现一群新的外星人,其移动速度更快。只要有外星人撞到玩家的飞船或到达屏幕底部,玩家就损失一艘飞船。玩家损失三艘飞船后,游戏结束。

12.2 安装Pygame

$ python -m pip install --user pygame

12.3 开始游戏项目

12.3.1 创建Pygame窗口及响应用户输入

下面创建一个表示游戏的类,以创建空的Pygame窗口,文件名为alien_invasion.py

import sys
import pygame
class AlienInvasion:
    """管理游戏资源和行为的类"""
    def __init__(self):
        """初始化游戏并创建游戏资源。"""
        pygame.init()
        self.screen = pygame.display.set_mode((1200, 800))
        pygame.display.set_caption("Alien Invasion")
    def run_game(self):
        """开始游戏的主循环"""
        while True:
            # 监视键盘和鼠标事件。
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()
            # 让最近绘制的屏幕可见。
            pygame.display.flip()
if __name__ == '__main__':
    # 创建游戏实例并运行游戏。
    ai = AlienInvasion()
    ai.run_game()

 运行结果如下:

12-武装飞船_第1张图片

 我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置,并且在原来的位置隐藏元素,从而营造平滑移动的效果。

 

你可能感兴趣的:(python,pygame,python)