其实,我个人认为:学习一门语言,首先要有兴趣,才会有学下去的动力。
以前还在纠结到底该学习Java还是C++,但是开始学习了Java之后,你就会发现:语言并不重要,重要的是思路。
在你学会一门语言的基础之上,再去学习其他语言,基本上会很快掌握。
言归正传,先说一下,本人是信息安全专业的,平时对信息提取分析的需求比较多,所以学习Python。
然后越来越发现,Python可以做很多事情,比如快捷整理文档,找到想要的数据。
如果想让工作效率更高,建议学Python。
学习Python第一周,找了个小练习,飞机大战的游戏,一步步学习,一步步分享。
不论想用代码实现什么功能之前,先做需求分析,只有做好了需求分析,才不会出现重新写的问题。
那么现在就来聊聊飞机大战这个游戏:(ps:没玩过的自己检讨一下啊!)
先来分析一下里面的元素,大家应该都知道动态画面是由于静态图片高频率的刷新形成的。
所以:游戏画面我们可以看成一张张静态图。
那么第一步,我们先需要找到一个容器来放这些画面,
在这里,我们叫做创建游戏窗口。
要创建游戏窗口,我们需要用到 pygame 这个模块。
第一步:导入模块
import pygame as pygame
第二步:我们就需要用模块来创建游戏窗口
在这里我们要注意:初始化pygame模块调用 pygame.init()方法,关闭库用pygame.quit()方法
一般是成对出现的。
pygame.init()
pygame.quit()
在这两行代码的中间开始编写游戏代码,
那么我们初始化模块以后,就需要创建游戏窗口,这里需要用到
pygame.display.set_mode()
set_mode会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元祖,代表分 辨率(必须);第二个是一个标志位,如果不用什么特性,就指定0;第三个为色深。当我们把第二个参数设置为FULLSCREEN时,就能得到一个全屏窗口了
返回的屏幕对象我们用 fly_screen 来接收
# 定义飞机大战游戏窗口,设置窗口宽高
fly_screen = pygame.display.set_mode((480,700))
* 窗口大小根据我们的背景图片像素大小设置就好
第二步,我们设置背景图片,分为三步
加载图像数据
blit方法绘制图像
update更新屏幕显示
下面粘上代码
# 绘制背景图像
# 1.加载图像数据
background = pygame.image.load("./images/background.png")
# 2.blit方法绘制图像
fly_screen.blit(background,(0,0))
# 3.update更新屏幕显示
# pygame.display.update()
注意:
下面贴上坐标方式
第三步,绘制飞机图像
步骤同第二步类似,直接贴上代码
# 绘制飞机图像
fly_hero = pygame.image.load("./images/me1.png")
fly_screen.blit(fly_hero,(200,500))
pygame.display.update()
注意:
游戏循环:因为Python代码是从上向下执行的,为了让我们看到游戏窗口的展示效果,需要先设置一个循环
代码如下:
# 游戏循环
while True:
pass
pygame.quit()
放在pygame.quit()前面
注意:如果有多个update,只需要保留最后一个即可。
时间有限,今天就到这里,明天继续。