python实现雪花飘落效果实例讲解及源码分享!

论坛 期权论坛 期权     
python教程   2019-7-15 08:57   4929   0
[h1]点击蓝字“python教程”关注我们哟![/h1]前言
Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取!
在本篇文章里小编给大家整理了关于python实现雪花飘落效果的相关实例内容,以及代码写法,需要的朋友们参考下。

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


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


第二步:建立好文件之后,我们在编辑页面输入以下代码:
  1. import pygame
复制代码
  1. import sys #导入模块
复制代码
  1. import random
复制代码
复制代码
  1. #设置窗体图形界面
复制代码
  1. screen = pygame.display.set_mode((700,500)) #设置窗体的屏幕宽高,screen变量接收屏幕
复制代码
  1. pygame.display.set_caption("python学习教程") #设置窗体的标题
复制代码
复制代码
  1. #雪花
复制代码
  1. snowImage='image/snow.png' #定位图片
复制代码
  1. snowStart=pygame.image.load(snowImage) #加载图片
复制代码
复制代码
  1. #定义一个图像和雪花列表
复制代码
  1. imagelist=[]
复制代码
  1. snowlist=[]
复制代码
复制代码
  1. #绘制初始化雪花
复制代码
  1. for i in range(20):# 随机给出雪花在窗体上,一次可以显示的个数
复制代码
  1.   x = random.randint(0,600) #参数1为上限,参数2为下限
复制代码
  1.   y = random.randint(0,450)
复制代码
  1.   snowlist.append(random.randint(1,2)) #雪花下落的速度
复制代码
  1.   imagelist.append([x,y]) # 保存随机获得的位置
复制代码
复制代码
  1. #绘制雪花在窗体上
复制代码
  1. while True:
复制代码
  1.   screen.fill((0,0,0)) #设置窗体的背景为黑色
复制代码
  1.   # 消息事件循环,判断退出
复制代码
  1.   for event in pygame.event.get(): #获得一个事件的列表
复制代码
  1.     if event.type == pygame.QUIT: #如果事件类型,退出
复制代码
  1.       sys.exit() #安全退出
复制代码
  1.   num=0
复制代码
  1.   for y in imagelist: # 雪花列表循环,从y轴的上限往下限方向飘落
复制代码
  1.     y[1]=y[1]+snowlist[num] #改变Y轴坐标,移动雪花位置
复制代码
  1.     num+=1
复制代码
  1.     screen.blit(snowStart,(y[0],y[1])) # 打印雪花
复制代码
  1.     if y[1]>=500: #当雪花达到下限,落出屏幕之后,重设位置
复制代码
  1.       y[1]=-snowStart.get_height() #重设Y轴的坐标到0以上,从而使得雪花下一次循环有效
复制代码
  1.   pygame.display.update() # 刷新画面
复制代码
[code][/code]


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



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



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



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


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

注意事项
01对Python开发技术感兴趣的同学,欢迎加下方的交流群一起学习,相互讨论。
02学习python过程中有不懂的可以加入我的python零基础系统学习交流秋秋qun:934109170,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享
好啦!文章就给看官们分享到这儿
最后,如果觉得有帮助,记得关注、转发、收藏哟


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP