前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 Python 实现雪花效果

用 Python 实现雪花效果

作者头像
伪君子
发布2018-04-04 15:38:05
2.6K0
发布2018-04-04 15:38:05
举报

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的,不是高清。所以说,最好还是能够正常的浏览互联网。

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萧北月 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.0 前言
  • 1.0 运行环境
  • 2.0 代码
  • 3.0 相关说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档