python实现雪花飘落效果实例讲解


Posted in Python onJune 18, 2019

在学习pygame模块过程中,我们可以通过使用 pygame模块实现很多功能性的东西,但是很多人应该没有利用pygame实现过雪花飘落的效果吧,有时候可能是不知道从何入手或者是没有时间写,接下来我就教大家如何利用pygame模块实现雪花飘落的效果吧,总共都用不到40行代码就可以实现哦,希望对你们有所帮助

python实现雪花飘落效果实例讲解

第一步:我们先打开我们的pycharm软件,然后新建一个Python文件

python实现雪花飘落效果实例讲解

第二步:建立好文件之后,我们在编辑页面输入以下代码:

import pygame
import sys #导入模块
import random

#设置窗体图形界面
screen = pygame.display.set_mode((700,500)) #设置窗体的屏幕宽高,screen变量接收屏幕
pygame.display.set_caption("吴秀柔 16级计科2班") #设置窗体的标题

#雪花
snowImage='image/snow.png' #定位图片
snowStart=pygame.image.load(snowImage) #加载图片

#定义一个图像和雪花列表
imagelist=[]
snowlist=[]

#绘制初始化雪花
for i in range(20):# 随机给出雪花在窗体上,一次可以显示的个数
  x = random.randint(0,600) #参数1为上限,参数2为下限
  y = random.randint(0,450)
  snowlist.append(random.randint(1,2)) #雪花下落的速度
  imagelist.append([x,y]) # 保存随机获得的位置

#绘制雪花在窗体上
while True:
  screen.fill((0,0,0)) #设置窗体的背景为黑色
  # 消息事件循环,判断退出
  for event in pygame.event.get(): #获得一个事件的列表
    if event.type == pygame.QUIT: #如果事件类型,退出
      sys.exit() #安全退出
  num=0
  for y in imagelist: # 雪花列表循环,从y轴的上限往下限方向飘落
    y[1]=y[1]+snowlist[num] #改变Y轴坐标,移动雪花位置
    num+=1
    screen.blit(snowStart,(y[0],y[1])) # 打印雪花
    if y[1]>=500: #当雪花达到下限,落出屏幕之后,重设位置
      y[1]=-snowStart.get_height() #重设Y轴的坐标到0以上,从而使得雪花下一次循环有效
  pygame.display.update() # 刷新画面

python实现雪花飘落效果实例讲解

第三步:写好我们的代码之后,我们直接同时按住键盘上的Ctrl+shift+F10或者鼠标右键,找到“run”,进行程序的运行编译

python实现雪花飘落效果实例讲解

第四步:运行之后就可以看到我们的雪花飘落的效果了。

python实现雪花飘落效果实例讲解

第五步:在这代码当中,我已经对每一句代码都进行了注释,希望能对你们有所帮助,这串代码总共都不超过50行

python实现雪花飘落效果实例讲解

第六步:在运行代码之后,我们要确认我们的雪花图片所在的路径位置是否与我们代码中指定的雪花图片路径位置一致,如果不一致记得给出图片所在的准确位置

python实现雪花飘落效果实例讲解

第七步:在这个代码中,主要是通过使用pygame模块实现的一个效果,希望能对你们有所帮助,有误之处多多谅解!

python实现雪花飘落效果实例讲解

Python 相关文章推荐
python实现堆栈与队列的方法
Jan 15 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
python获取一组汉字拼音首字母的方法
Jul 01 Python
python spyder中读取txt为图片的方法
Apr 27 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 Python
python实现多进程通信实例分析
Sep 01 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
在python3中实现更新界面
Feb 21 Python
Python如何定义有可选参数的元类
Jul 31 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
python地震数据可视化详解
Jun 18 #Python
Python实现FM算法解析
Jun 18 #Python
python pygame实现五子棋小游戏
Oct 26 #Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
Jun 18 #Python
python制作简单五子棋游戏
Jun 18 #Python
Python利用pandas处理Excel数据的应用详解
Jun 18 #Python
PyQt5固定窗口大小的方法
Jun 18 #Python
You might like
php GD绘制24小时柱状图
2008/06/28 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
vue登录注册实例详解
2019/09/14 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
Python进阶篇之字典操作总结
2016/11/16 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
python实现聚类算法原理
2018/02/12 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
python的launcher用法知识点总结
2020/08/07 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
大专毕业自我鉴定
2014/02/04 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
家长评语怎么写
2014/12/30 职场文书
感谢信模板大全
2015/01/23 职场文书
体育个人工作总结
2015/02/09 职场文书
大学生社会实践感想
2015/08/11 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
2021/03/31 HTML / CSS
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
javascript canvas实现雨滴效果
2021/06/09 Javascript