其实,我个人认为:学习一门语言,首先要有兴趣,才会有学下去的动力。

以前还在纠结到底该学习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()

注意:

  • image.load方法参数要写上正确的图片路径,返回对象要进行接收
  • 调用游戏窗口对象.blit方法要传入图片参数,以及要放的坐标
  • 必须进行update更新屏幕显示

下面贴上坐标方式

标题

第三步,绘制飞机图像

步骤同第二步类似,直接贴上代码

# 绘制飞机图像
fly_hero = pygame.image.load("./images/me1.png")
fly_screen.blit(fly_hero,(200,500))
pygame.display.update()

注意:

  • 图片路径换成自己的就可以
  • 很重要的一点,在最后需要设置一个游戏循环

游戏循环:因为Python代码是从上向下执行的,为了让我们看到游戏窗口的展示效果,需要先设置一个循环

代码如下:

# 游戏循环
while True:passpygame.quit()

放在pygame.quit()前面

注意:如果有多个update,只需要保留最后一个即可。


时间有限,今天就到这里,明天继续。

学习Python之小练习(飞机大战)(1)相关推荐

  1. 【Python】Python小游戏--飞机大战

    一.前言 今天已经初四,舒服的在家躺尸的春节也算过去了,又要开始辛勤的(苦逼的)学习和工作了.说点题外话,今年春节的病毒疫情真的弄的人心惶惶,我也在这为国家和武汉加油,也向一线工作人员致敬,希望早日结 ...

  2. Python快速实现简易飞机大战小游戏

    参考:用python实现简单的飞机大战小游戏_化华桦的博客-CSDN博客_python飞机大战 敌机图片: 我方飞机: 子弹: 背景图: 主函数代码main.py: from PySide2 impo ...

  3. c 语言500行小游戏代码,500行代码使用python写个微信小游戏飞机大战游戏.pdf

    500行行代代码码使使用用python写写个个微微信信小小游游戏戏飞飞机机大大战战游游戏戏 这篇文章主要介绍了500行代码使用python写个微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详 ...

  4. python代码示例500行源代码-500行代码使用python写个微信小游戏飞机大战游戏

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右 ...

  5. Java小游戏——飞机大战

    本程序是跟着尚学堂敲的,非常适合新手拿来练手.B站学习链接:047[飞机大战]_介绍视频_哔哩哔哩_bilibili​​​​​​ 主类GameWin,是游戏运行的主面板(该类继承JFrame): pa ...

  6. Unity学习笔记:Unity 3D 飞机大战

    Unity学习笔记:Unity 3D 飞机大战 1.打开unity软件后,首先新建Quad作为背景,导入飞机模型,并为其添加刚体 然后创建C#脚本,挂载到飞机上. 2.给飞机创建子弹,让子弹成为预制体 ...

  7. 【游戏开发实战】使用Unity 2019制作仿微信小游戏飞机大战(七):主角飞机碰撞与爆炸

    文章目录 零.教程目录 一.前言 二.本篇目标 三.飞机机碰撞组件:BoxCollider2D.Rigidbody2D 四.添加Tag:Enemy 五.主角飞机碰撞处理:OnTriggerEnter2 ...

  8. python飞机大战游戏代码_用python语言如何实现飞机大战游戏

    python语言博大精深,它目前来说已经很火热了,在学好python的同时还要学会用python,可以使用它来开发一些项目最好不过了.下面小编用python实现一个小游戏-飞机大战,使用的python ...

  9. python飞机大战资料-Python之游戏开发-飞机大战

    Python之游戏开发-飞机大战 想要代码文件,可以加我微信:nickchen121 #!/usr/bin/env python # coding: utf-8 import pygame impor ...

  10. 用JAVA制作小游戏——飞机大战(三)

    本篇博客是对飞机大战游戏项目完整代码的展示 详细代码讲解: 用JAVA制作小游戏--飞机大战(一) 用JAVA制作小游戏--飞机大战(二) 最下方附整个程序的文件下载链接 代码展示 主界面 impor ...

最新文章

  1. CSP 201812-2 小明放学 Python实现+详解
  2. 计算机二级c真题108套,2016年计算机二级108套程序.docx
  3. 纳米孔测序高错误区域恢复率高达99%,肖传乐/刘奕志/王建新等在Nature子刊发表新校正组装算法
  4. SAP QM Multiple Specifications的使用III
  5. 无锡易保Java面试笔试_易保面试题 - willim - BlogJava
  6. MySQL搭建主从复制 读写分离 分库分表 MyCat高可用
  7. Bouncy Castle Crypto API c# port
  8. linux下搭建博客day4注册git账号
  9. 黑马程序员——JAVA学习笔记四(继承、接口、内部类)
  10. Java爬虫开发总结
  11. Axure RP 9 安装、汉化
  12. java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
  13. Julia学习01——Julia安装与卸载
  14. 1060显卡用什么软件测试,【影驰 GTX 1060 GAMER 显卡使用测试】频率|性能|软件_摘要频道_什么值得买...
  15. leetcode *1818. 绝对差值和(2021.7.14)
  16. 在线长图片自动裁剪工具
  17. 小度wifi linux ap,小度WiFi的频率范围是多少
  18. 关于透明图像的滤色处理要注意的几个点
  19. \u开头的unicode中的\u被转义\\u的问题处理
  20. Hologres 助力飞猪双11实时数据大屏秒级响应

热门文章

  1. ae中计算机打字预设,Typewriter Pro(AE电脑打字动画特效预设)
  2. 使用python生成图片验证码
  3. 惠普HP AMP 125 打印机驱动
  4. 网络安全——Goolge Hacking的使用
  5. 如何用Deep Learning为股票定价
  6. 出炉!2021 编程语言排行榜~
  7. Js实现金额转换为中文繁体
  8. GNU链接脚本(06) - SECTIONS指令
  9. [MacOS] 出现 Permission denied 解决办法
  10. Vue Echarts世界地图