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

以前还在纠结到底该学习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. 应届生失业率或继续上升?别怕,这份秋招指南请收好!
  2. ASp.net 剖析三层架构
  3. android异步任务详解 AsynTask[转 杨瓦瓦]
  4. python的窗口处理模块_Python tkinter模块弹出窗口及传值回到主窗口操作详解
  5. 一种去中心化的manager设计思路
  6. vue动态引入外部CDN导致线上项目页面无法显示 - 看了不亏
  7. 基于Matlab的跨孔电磁波\跨孔雷达的胖射线追踪(一)
  8. 双向链表list.h升序排序
  9. ROS入门-9.订阅者Subscriber的编程实现
  10. deserializer does not exist: org.openx.data.jsonserde.JsonSerDe
  11. 云计算解码:技术架构和产业运营
  12. Cesium - 地形瓦片(Quantized-mesh)
  13. ORA-12638处理
  14. Centos 7安装Zabbix6.0
  15. BUG记录——解析程序包出现错误
  16. c语言编程一个数的质子求出来,量子力学第一章课外练习题
  17. Linux中文件传输、解压缩文件
  18. 宿迁高考成绩查询2021,2021宿迁市地区高考成绩排名查询,宿迁市高考各高中成绩喜报榜单...
  19. 要嫁就嫁个37度男人(转载)
  20. PowerQuery(导入数据,行操作,列操作,提取与转换,删除重复项,删除错误)

热门文章

  1. 既然阻塞 I/O 会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
  2. mysql怎么对月份进行统计_MySQL如何按月份统计数据详解(转)
  3. c语言步进电机驱动程序不正常怎么办,步进电机【C语言驱动程序】
  4. 咸鱼前端—CSS浮动
  5. TP-LINK TL-WDN7200H ubuntu18.04驱动安装
  6. 如何用远丰DrpBuilder打造企业社会化分销体系
  7. HDR视频色调映射算法(之四:Display adaptive TMO)
  8. outlook自定义快捷键_如何自定义主题和Outlook邮件的格式
  9. 日记01 2021年5月
  10. 华为云发布实时音视频行业加速器,为企业解决技术与商业双重难题