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

第一步:我们先打开我们的pycharm软件,然后新建一个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() # 刷新画面

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

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

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

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

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

时间: 2019-06-16

用python画雪花飘落_python实现雪花飘落效果实例讲解相关推荐

  1. python画黑白线条_Python实现手绘图效果实例分享

    首先我们来看看原图: 接着我们来看看效果图: 通过分析我们不难发现以下特征: 主要颜色为黑白灰 边界线条较重 相同或相近色趋于白色 略有光源效果 需要用到的库有: numpy PIL 代码实现: im ...

  2. python链表的创建_python数据结构之链表的实例讲解

    在程序中,经常需要将组(通常是同为某个类型的)数据元素作为整体 管理和使,需要创建这种元素组,变量记录它们,传进传出函数等. 组数据中包含的元素个数可能发变化(可以增加或删除元素). 对于这种需求,最 ...

  3. python手绘教学_Python实现手绘图效果实例分享

    首先我们来看看原图: 接着我们来看看效果图: 通过分析我们不难发现以下特征: 主要颜色为黑白灰 边界线条较重 相同或相近色趋于白色 略有光源效果 需要用到的库有: numpy PIL 代码实现: im ...

  4. python的empty函数_python中numpy.empty()函数实例讲解

    在使用python编程的过程中,想要快速的创建ndarray数组,可以使用numpy.empty()函数.numpy.empty()函数所创建的数组内所有元素均为空,没有实际意义,所以它也是创建数组最 ...

  5. 如何用python画七彩蟒蛇_Python实现七彩蟒蛇绘制实例代码

    本文主要研究的是Python编程turtle的实例,绘制一个七彩蟒蛇..具体如下. 第2周的课后练习里,有一道题目,要求修改"蟒蛇绘制"程序,对Python 蟒蛇的每个部分采用不同 ...

  6. python画离散图_python画离散图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 不过,恋习python突然想到,可以通过python将故宫的建筑物图片,转化为手 ...

  7. 怎么用python画个电脑_python语言还是java如何用python画爱心

    用python绘制爱心的基本步骤如下: 002pc.com对<python语言还是java如何用python画爱心>总结来说,为我们学习Python很实用. 首先先下载安装好python程 ...

  8. 用python画一个笑脸_python画个笑脸

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! project python是一本免费的交互式书籍,它通过使用图形.动画和游戏来 ...

  9. python画五角星代码_Python使用turtule画五角星的方法

    Python使用turtule画五角星的方法 更新时间:2015年07月09日 10:04:03 作者:pythonstart 这篇文章主要介绍了Python使用turtule画五角星的方法,运行该程 ...

  10. python画xy轴_python画双y轴图像的示例代码

    很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴. matplotlib和seaborn都可以画双y轴图像. 一个例子: import ...

最新文章

  1. asyncdata连接php,如何使用Nuxt和asyncData观察路由更改
  2. Java+Selenium Web UI自动化测试的一些总结
  3. white-space详解
  4. OC-NSArray
  5. IBASE save - my toolset investigation
  6. query上传插件uploadify参数详细分析
  7. java编写母亲节快乐_写在母亲节来临之际
  8. itext 7 设置页面大小_indesign页面设置技巧教程【indesign页面大小设置教程】
  9. 两个jqgrid 直接互相数据_MySQL数据库锁应该这样用
  10. Hadoop对小文件的解决方案
  11. 使用PowerDesigner设计数据库保姆级教程
  12. 浅析Tier和Layer的区别
  13. 大括号内打两行公式,还附带标号或条件
  14. 6.Servlet、JSP总结
  15. [Android答答答]Handler是什么?
  16. android tuner 教程,安卓调谐器(Android Tuner)
  17. 【电商】电商后台---FMS财务管理系统
  18. h5获取浏览器的相机和摄像头权限
  19. 计算机网络利弊的作文英语作文,关于远程网络教育利弊的英语作文.doc
  20. 如果人类没了隐私,世界会怎样?

热门文章

  1. ST_Intersection
  2. CF1395A Boboniu Likes to Color Balls
  3. Mac在pycharm执行sh打包脚本报错
  4. 在测试tensorBroad中在运行mnist_with_summaries.py时URLError:urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答
  5. 小规模纳税人可以申请美元账户收款么?
  6. 为你开发的应用赋能文档协作功能
  7. 基于ServiceStage的微服务开发与部署(二)
  8. 一组li或者div里面多个弹出层对应各自的内容
  9. #Python第三方模块学习笔记(四)——CSV模块功能及主要函数介绍
  10. FI凭证冲销(蓝冲、红冲)和反记账后台配置