python飞机大战简书_飞机大战(pygame)开发实录一

飞机大战,算是面向对象的程序语言入门必修程序,但大多教程只是点到为止,跳过了很多实际开发会遇到的问题,自然也错过了很多不错的经验。该系列文章针对python的pygame包,详细讲解了飞机大战的开发。

目录提纲:

一. 游戏动画基本原理,图片加载和显示的方法

二. 控制图像的移动

三. 对象化编程特点介绍,基类创建

四. 背景类及飞机基类

五. 玩家飞机类的创建及其控制方法

六. 敌机、补给包、Boss的创建及控制

七. 碰撞检测原理和实现方法

八. 背景和音效

九. 游戏暂停、战斗信息、游戏开始确认,以及敌机刷新控制。

十. 主函数流程解析

游戏动画显示原理

游戏动态显示基础原理,就是快速绘制静态的图片,就像下面的这个动态图。

动画原理

游戏显示原理

比如游戏中飞机往上移动,也就是显示屏快速的切换这样的图片。

编写环境:

pygame 1.9.6

Python 3.7.3

IDE PyCharm 2019.1

pygame图片加载和显示过程

import pygame

# 创建一个窗口

screen = pygame.display.set_mode((480, 852), 0, 32)

# 读取背景图片

Image_background = pygame.image.load("./res/background.png")

# 读取飞机的图片

Image_hero = pygame.image.load("./res/hero1.png")

# 把图片贴到screen对象中

screen.blit(Image_background, (0,0))

screen.blit(Image_hero, (200,500))

# 把绘制好的图像,显示到屏幕中

pygame.display.update()

运行效果

剪报

图像显示过程,就像剪报栏:

1、我们会先找一张大点的纸 (程序中是加载了一张背景图)

2、然后在纸上贴上我们的剪报(程序中是添加飞机、子弹、敌机等图片)

3、最后把纸贴到剪报栏 (程序调用 pygame.display.update() 将图像输出到显示器)

本篇主要介绍游戏动画基本原理,图片加载和显示的方法,下一篇会介绍图片移动、键盘控制的方法。