用 Python 实现雪花效果
0.0 前言
前些日子一直在学爬虫,好不容易学会了点,一试手就被封ip 48个小时了,再来一次,还是48个小时。我认输,只能说老司机的反爬虫技术非常好。
既然这样就把之前实现过的东西分享一下,今天主要是介绍用 Python 实现雪花效果,有趣,而且不难,源代码有了,直接改一下就可以运行了。
1.0 运行环境
Win10系统下 Python3,编译器是 Pycharm,需要安装pygame.
用Pycharm安装第三方包很简单,照着下面的来就好。
如果不是用 Pycharm 的,那就直接打开cmd,然后输入pip install pygame
,接着回车就好。
2.0 代码
先导入pygame、random
import pygame
import random
然后初始化pygame
pygame.init() # 初始化pygame
SIZE = (1920, 1080) # 根据图片的大小来设置
screen = pygame.display.set_mode(SIZE)
pygame.display.set_caption("下雪啦") # 下雪啦这个可以改成你喜欢的
bg = pygame.image.load('snow.jpg') # snow.jpg是图片的名称,要保持一致
举个例子,我把 snow.jpg 放在和源代码同一个目录下,因为 snow.jpg 的分辨率是1920*1080,所以我的 SIZE 是(1920, 1080)
先定义一个雪花列表,然后初始化雪花,把坐标和速度赋值给雪花。
snow_list = [] # 雪花列表
for i in range(200): # 初始化雪花:[x坐标, y坐标, x轴速度, y轴速度]
x = random.randrange(0, SIZE[0])
y = random.randrange(0, SIZE[1])
sx = random.randint(-1, 1)
sy = random.randint(3, 6)
snow_list.append([x, y, sx, sy])
clock = pygame.time.Clock()
完整代码在下面,感谢代码的提供者和传播者。
https://github.com/crossin/snippet/blob/master/snow/snow.py
具体效果:
3.0 相关说明
完整代码(中文注释):https://github.com/crossin/snippet/blob/master/snow/snow.py
完整代码(英文注释+解释):http://programarcadegames.com/index.php?chapter=introduction_to_animation&lang=cn#section_8
配套视频:https://www.youtube.com/watch?v=Gkhz3FuhGoI&feature=youtu.be
因为视频是在 youtube 的,所以需要翻越一下才能正常浏览,可以在公众号后台回复【翻越思维的墙】来了解一下怎么翻越。
要是觉得麻烦,我已经把视频搬运回来了,480P的,不是高清。所以说,最好还是能够正常的浏览互联网。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法