利用Python实现好看的水波特效

 更新时间:2022年04月29日 09:07:51   作者:木木子学python  
这篇文章主要介绍了如何利用Python语言实现水波特效,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下

前言

你的心要如溪水般柔软,你的眼波要像春天般明媚。

 ——余光中

​似乎很少看见湍急的溪流,多数时候,溪水总是潺潺地流着,不疾不徐,有自己的节奏;

也似乎很少看见污浊的溪流,多数时候,溪水总是澄澈见底,偶尔拔起沙石,也很快能静置溪底,重归明净。

一个像溪水的人,多半是通透清明的,他知道如何过滤掉和沉落生命中的杂质,以一颗澄澈的心,往自己的方向流去。

描写了这么多关于水的诗句,你是否能清楚的表达,了解水是怎样流动的呢?

今天小编就用代码描写我心目中的水流是怎样的,Python代码模拟水的波动开始啦

一、运行环境

 1)环境安装 

Python3、 Pycharm 、Pygame模块部分自带模块就不展示啦。(如需安装包、激活码等直接  

私信我即可安装问题解答都可以的哈~) 

 第三方库的安装:

pip install pygame 或者带镜像源 pip install -i https://pypi.douban.com/simple/ +模块名   

二、效果展示

截图的貌似展示不出来水的波动效果,嗨没办法 有点儿懒,就没拍视频,大家将就着看叭

真的视频效果好好看滴!是随水波荡漾的~

1)第一组随机风景图

2)第二组人物随机图

3)第三组真人图片

三、代码展示

"""照片模拟水的波动效果"""
import pygame, os
from pygame.locals import *
from math import sin  # 导入正弦函数的工具箱
import time

main_dir = os.path.split(os.path.abspath(__file__))[0]  # 获取当前文件所在路径

def main():
    pygame.init()  # 初始化
    screen = pygame.display.set_mode((640, 480), HWSURFACE|DOUBLEBUF)  # 生成一个窗口

    imagename = os.path.join(main_dir, 'data', 'liquid.bmp')  # 拼接图片路径
    bitmap = pygame.image.load(imagename)    # 加载图片
    bitmap = pygame.transform.scale2x(bitmap) # 将图像放大两倍
    bitmap = pygame.transform.scale2x(bitmap) # 将图像放大两倍

    if screen.get_bitsize() == 8: # 以相同的格式获取图像和屏幕
        screen.set_palette(bitmap.get_palette())
    else:
        bitmap = bitmap.convert()

    anim = 0.0

    while 1:
        for e in pygame.event.get():   # 处理事件
            if e.type in [QUIT, KEYDOWN, MOUSEBUTTONDOWN]:
                return

        anim = anim + 0.02
        for x in range(0,640,20):   # 模拟水的波动效果
            xpos = (x + (sin(anim + x * .01) * 15)) + 20
            for y in range(0, 480, 20):
                ypos = (y + (sin(anim + y * .01) * 15)) + 20
                screen.blit(bitmap, (x, y), (xpos, ypos, 20, 20))

        pygame.display.flip()  # 更新
        time.sleep(0.01)       # 等待0.01s


if __name__ == '__main__': 
    main()

到此这篇关于利用Python实现好看的水波特效的文章就介绍到这了,更多相关Python水波特效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 春节到了 教你使用python来抢票回家

    春节到了 教你使用python来抢票回家

    这篇文章主要介绍了春节到了 教你使用python来抢票回家,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python实现约瑟夫环问题的方法

    Python实现约瑟夫环问题的方法

    这篇文章主要介绍了Python实现约瑟夫环问题的方法,详细分析了约瑟夫环问题的描述、原理与解决方法,需要的朋友可以参考下
    2016-05-05
  • 对PyTorch torch.stack的实例讲解

    对PyTorch torch.stack的实例讲解

    今天小编就为大家分享一篇对PyTorch torch.stack的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 深入解析Python小白学习【操作列表】

    深入解析Python小白学习【操作列表】

    这篇文章主要介绍了Python操作列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python函数使用的相关练习题分享

    Python函数使用的相关练习题分享

    这篇文章主要介绍了Python函数使用的相关练习题分享,文章基于python函数内容展开其相关例题,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • keras model.fit 解决validation_spilt=num 的问题

    keras model.fit 解决validation_spilt=num 的问题

    这篇文章主要介绍了keras model.fit 解决validation_spilt=num 的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 简单介绍Python中的JSON模块

    简单介绍Python中的JSON模块

    这篇文章主要介绍了简单介绍Python中的JSON模块,包括初步的从Python中的数据格式转换为JSON格式等,需要的朋友可以参考下
    2015-04-04
  • 详解python实现数据归一化处理的方式:(0,1)标准化

    详解python实现数据归一化处理的方式:(0,1)标准化

    这篇文章主要介绍了详解python实现数据归一化处理的方式:(0,1)标准化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • centos 安装python3.6环境并配置虚拟环境的详细教程

    centos 安装python3.6环境并配置虚拟环境的详细教程

    这篇文章主要介绍了centos-安装python3.6环境并配置虚拟环境的详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • PyQt5中QPushButton的用法详细解析与应用实战

    PyQt5中QPushButton的用法详细解析与应用实战

    PyQt5 是一个用于创建图形用户界面的 Python 绑定库,它基于 Qt5 应用程序框架,在 PyQt5 中,QPushButton 是一个常用的控件,用于创建按钮,允许用户通过点击来触发某些操作,本文将详细介绍 QPushButton 的用法,并通过实际案例来展示其强大的功能
    2024-07-07

最新评论