Python学习笔记之实战小项目--飞机大战游戏(一)

      更多python相关的实战小项目以及学习资源,可关注微信公众号:noobcoders ,定期分享python学习笔记以及实战小项目,并附带详细的代码。

                                                  Python学习笔记之实战小项目--飞机大战游戏(一)_第1张图片

        今天,给大家分享的是一个学习完python后的一个初级练习项目,飞机大战游戏,相信若干年前,很多人在微信上都有玩过。后面一段时间,我会将飞机大战游戏作为一个系列笔记,分期连续更新。首先放一张效果图


Python学习笔记之实战小项目--飞机大战游戏(一)_第2张图片


学习目标


        a、强化面向对象编程的代码设计思路

        b、学会使用pycharm进行小游戏开发

        然后,本次推文飞机大战游戏(一)的学习目标主要是学会pygame模块的一些基本的方法,为后面做好准备。主要包括:

        1、了解飞机大战游戏项目的坐标系

        2、学会建立本次游戏项目的主窗口

        3、学会本次项目中的图像绘制


实验前准备


        在这次练习中,我们需要使用到pygame模块,python解释器还是python2.7版本的。由于官方只提供32位的pygame模块,如果你安装的python版本是32位的,那就可以直接安装官方提供的,如果我们需要安装64位的,就需要第三方库的pygame模块,具体链接是:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame

(长按,选择复制,在浏览器中打开)

详细安装方法的链接是:https://blog.csdn.net/xzgwz521/article/details/63684343

(长按,选择复制,在浏览器中打开)


动手演练


一、理解飞机大战游戏中的坐标系

       x 轴正半轴,水平向右

       y 轴负半轴,垂直向下

       * 坐标原点位于左上角(0,0)         

        在游戏环境当中,所有的元素都是以矩形来确定位置的。而pygame 模块提供了一个类pygame.Rect 专门用于描述矩形区域,

pygame.Rect(x, y, width, height)

其中 x和y 描述的是矩形区域的起始坐标,width对应宽度,height对应高度。此外这个类还有一些其他方法,例如:size, left, center,top等一些实用方法,可以自己尝试一下 。


二、创建游戏主窗口

        主要使用pygame库中的pygame.display模块,这个模块主要用于创建和管理窗口

方法  说明
pygame.display.set_mode() 显示游戏窗口
pygame.display.update() 更新屏幕显示内容

其中 set_mode 方法:

set_mode(resolution = (0, 0), flags = 0,depth = 0)

resolution  通过元组形式指定屏幕的宽和高

flags  指定屏幕的附加选项,例如是否全屏等,默认不需要传递

depth  表示颜色的位数,默认自动匹配

提示  使用时必须定义一个变量来接收set_mode方法的返回结果

使用该方法创建飞机大战游戏主窗口:

# 创建游戏窗口
game_screen = pygame.display.set_mode((480700))


三、飞机大战游戏中的图像绘制

        由于游戏的图像文件是保存在磁盘上的,所以使用时必须先加载到内存,因此要想在上面所创建的游戏主窗口中看到图像内容,需要按以下步骤来进行:

        第1步:利用 pygame.image.load( ) 方法加载图像内容

        第2步:利用 blit 方法将加载的图像放到指定位置

        第3步:利用 pygame.display.update( ) 方法更新屏幕所显示的内容 


        接下来,利用以上步骤,我们来绘制飞机大战游戏背景图像和游戏角色hero图像,代码如下:

# 绘制游戏背景
background = pygame.image.load("./image/background.png")
game_screen.blit(background, (00))

# 绘制hero图像到游戏窗口
hero = pygame.image.load("./image/me1.png")
game_screen.blit(hero, (200500))

pygame.display.update()


最终显示效果如下:


              Python学习笔记之实战小项目--飞机大战游戏(一)_第3张图片


        另外,飞机大战游戏所使用到的图像素材包百度云链接是:

https://pan.baidu.com/s/1hPA-jiiePjI7GCLHv5jw7g    图像素材需要放到所创建的工程下的目录当中


  更多python相关的实战小项目以及学习资源,可关注微信公众号:noobcoders ,定期分享python学习笔记以及实战小项目,并附带详细的代码。

                                                  Python学习笔记之实战小项目--飞机大战游戏(一)_第4张图片



你可能感兴趣的:(Python学习笔记之实战小项目--飞机大战游戏(一))