【Python实战】有趣的代码百里挑一:这款“水波特效”脚本送给你,绝版哦~(建议收藏)

349 阅读3分钟

前言

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

                                                      ——余光中

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

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

底,重归明净。

一个像溪水的人,多半是通透清明的,他知道如何过滤掉和沉落生命中的杂质,以一颗澄澈的

心,往自己的方向流去。

正文

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

今天小编就用代码描写我心目中的水流是怎🐏滴👇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()


总结

“你一定要站在自己所热爱的世界里闪闪发光。”        ——文案

💖​免费的​​源码基地——

私信小编06或者点击这行蓝色字体即可免费获取哈!

你们的支持是我最大的动力!!记得三连哦~mua 欢迎大家阅读往期的文章哦~

😘往期推荐阅读——

项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~

项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)

项目0.5 【视频倒放神器】超级玩法:千万不要倒放视频,太魔性了根本停不下来......

项目0.6 【Python小程序】隐藏表白图:“你永远都不知道我喜欢你”(建议保存)

项目0.4 ​​​​​​ Python教程:去除背景,我保证不动她一根头发(附多种方式)

🎄文章汇总——

项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在文章汇总哦!!欢迎阅读~)

🎁文章汇总——

汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)