专栏首页python学习教程python实现雪花飘落效果实例讲解及源码分享!

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

前言

Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取!

在本篇文章里小编给大家整理了关于python实现雪花飘落效果的相关实例内容,以及代码写法,需要的朋友们参考下。

在学习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("python学习教程") #设置窗体的标题
 
#雪花
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模块实现的一个效果,希望能对你们有所帮助,有误之处多多谅解!

本文分享自微信公众号 - python教程(pythonjc)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python开发-九层之台 起于垒土

    Python3.7 安装目录 D:\Program Files\python37

    needrunning
  • Leetcode【54、59、885】

    这道题做法很直接,就是从最外层到最内层一层一层按照顺时针螺旋输出各个数字即可。如下图所示:

    echobingo
  • Anaconda模块简介

    刚开始学Python的时候,我用的是其自带的idle(安装Python后,在开始菜单里可以找到),后来发现在sublime中设置环境后也可以编辑Pyth...

    用户5745385
  • Python 高效编程技巧

    Python 提供了几个高级内置函数,另外还有几个比较实用的库,比如 collections,这里推荐一篇文章,介绍几个小的 Tips,如果大家用上的话可以稍微...

    崔庆才
  • 这么多编程语言到底都是干啥的 看完这个你就懂

    TIOBE排行榜每个月都会发布编程语言排行,在榜单中编程语言们上上下下,有的牢牢把握前三,有的忽上忽下,有的被挤出前20,过会又杀了回来。外行只看到语言的起起伏...

    用户5745563
  • python---调包的方式总结

    用户5745385
  • 关于字符串处理,你真的全掌握了吗?

    字符串处理是 Python 中最基本的操作之一了,但其实有些用法你真的可能没有注意到,这里分享一篇关于 Python 字符串处理的总结文章,希望对大家有帮助。

    崔庆才
  • 这样自学 Python ,高效不止一点,两点

    经过这些年的自学编程,来跟你谈谈我是怎么自学的,给你做点参考,当然,如果你也有不错的自学方法或者经验,我们可以彼此探讨,借鉴一下,也许大家都能同时进步一点点。

    一墨编程学习
  • Python安装麻烦?试试Google推出的colab

    刚开始用Python的时候,总会在安装Python环境中遇到不少问题。比如说,安装之后怎么使用,新的package怎么安装等。今天发现了一款解决这些入门问题的黑...

    宋彦
  • 用了几年 Python,但你可能连这个都没学透

    在 Python 中用的最多的可能就是 import 了,几乎我们写的每个 Python 脚本都是需要的,但这个 import 其实也有些讲究的,比如用不好很可...

    崔庆才

扫码关注云+社区

领取腾讯云代金券