前言
自学Python的记录,不喜勿喷!
本程序的代码是以B站黑马程序员的视频代码为基础,个人加以总结思考,写就的博文,纯属记录自己的学习历程!
当初想到要用Python的pygame模块开发飞机大战游戏的时候,顿时就兴奋了,毕竟学以致用是最好的学习方式,何况是做一个游戏,但是当我真正上手的时候发现并没有想象中的那么轻松。当然万事开头难,有了一定的经验之后,后面的路就会轻松许多了。
pygame模块安装
开发这个游戏的第一步是安装pygame模块,当初我完全按照老师的要求在终端中使用命令行来安装好了pygame,并且也能运行其内置的小游戏,但是打开文件import pygame模块的时候,不管我咋个弄永远都是“NO module named pygame”,我是装了卸,卸了装,捣鼓过来捣鼓过去,总是弄不好,心态崩了。于是我放弃了,但是心有不甘,查阅了多方资料,功夫不负有心人,最后无意中发现了我前面博客中的解决方法。https://blog.csdn.net/qq_43779324/article/details/104594396,当然其他大佬还有更好的解决方式,怪我当初没搜到,顺便吐槽一下CSDN的搜索功能,经常搜的是牛头不对马嘴,我谷歌啥的都能搜到CSDN博客内容,软件内就搜不到?具体安装方式大家可以看这个:https://blog.csdn.net/sinat_40043477/article/details/78276460?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
pygame入门
在完成好pygame模块安装之后,就要正式开始我们的游戏开发了!在这之前,我们先来认识一下Python中的pygame模块,pygame是Python中的一个2D游戏开发库,支持声音和图像的编辑,当然在现在的3D游戏的普及下,pygame逐渐没落了,但是这不妨碍我们从中学到一些东西。pygame程序的大体结构就是下面这个样子,init()函数开始,quit()函数退出,中间就是具体的游戏代码。
import pygame
pygame.init()
# 编写游戏的代码
print("游戏的代码...")
pygame.quit()
使用Rect来描述矩形区域
Python游戏中以坐标系来描述游戏中各个组件的位置,原点在左上角,x轴水平向右、y轴水平向下。描述一个矩形区域还要有宽度和高度,因为一个坐标只能表示其左上角的位置,加上宽度和高度之后位置就定死了。
import pygame
hero_rect = pygame.Rect(100, 500, 120, 125)
print("英雄的原点%d %d" % (hero_rect.x, hero_rect.y))
print("英雄的尺寸%d %d" % (hero_rect.width, hero_rect.height))
print("%d %d" % hero_rect.size)
创建游戏窗口
pygame中专门提供了一个模块pygame.display用于创建、管理游戏窗口。其中有两个方法:
- pygame.display.set_moudle():用于初始化游戏窗口。里面有四个参数,窗口的宽和高,是否全屏,窗口的颜色。
- pygame.display.update():用于刷新屏幕内容显示,稍后使用。
import pygame
pygame.init(