闲赋在家,甚是无聊,便萌发了研究经典小游戏:飞机大战的念头,想必大家可能玩过微信的这款小游戏,给我的感觉是这款游戏怎么可以做得这么好呢,操作简单,容易上手,简直是“老少皆宜”啊~
既然这款游戏这么棒,能否自己动手用 Python 来实现呢?事实证明是可以的。
先来看下飞机大战游戏最终实现的动态效果图。
文章末尾下方获取
一. 动态效果图
二. 思路框架
plane_sprite.py文件内容
1.导入需要使用的模块
import random
import pygame
在导入pygame之前,需要先使用命令:
pip install pygame
进行包模块的安装
2.设置屏幕大小和刷新帧率等常量
3.创建继承于pygame.sprite.Sprite的基类GameSprite
4.创建继承于GameSprite的子类
-
Background背景子类
-
Enemy敌机子类
-
Hero英雄子类
-
Bullet子弹子类
plane_main.py文件内容
1. 导入plane_sprite.py文件中所有内容
2. 创建继承于Object的飞机大战主游戏类PlaneGame
(1). __init__初始化方法:
进行游戏开始的初始化操作,包含:创建游戏窗口,创建游戏的敌机,背景等精灵
(2). __create_sprites创建精灵方法:
负责创建不同角色的精灵,并将其添加至精灵组
(3). start_game游戏开始方法:
负责播放背景音乐,使用while循环来设置刷新帧率、事件监听、碰撞检测、更新绘制精灵组、更新显示屏幕图像
(4). __event_handler事件监听方法:
负责监听用户在游戏界面的操作,例如:关闭游戏窗口,左右方向键的移动等
(5). __check_collide碰撞检测方法:
负责检测子弹是否碰撞到敌机,敌机是否碰撞到英雄飞机,然后做出相应的操作
(6). __update_sprites更新精灵方法:
负责各个角色精灵的更新并绘制到屏幕,展示给用户