这么利用Python实现好看的水波特效
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍“这么利用Python实现好看的水波特效”,在日常操作中,相信很多人在这么利用Python实现好看的水波特效问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”这么利用Python实现好看的水波特效”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、运行环境
1)环境安装
Python3、 Pycharm 、Pygame模块部分自带模块就不展示啦。(如需安装包、激活码等直接
私信我即可安装问题解答都可以的哈~)
第三方库的安装:
pip install pygame 或者带镜像源 pip install -i https://pypi.douban.com/simple/ +模块名
二、效果展示
截图的貌似展示不出来水的波动效果,嗨没办法 有点儿懒,就没拍视频,大家将就着看叭
真的视频效果好好看滴!是随水波荡漾的~
1)第一组随机风景图
2)第二组人物随机图
3)第三组真人图片
三、代码展示
"""照片模拟水的波动效果"""import pygame, osfrom pygame.locals import *from math import sin # 导入正弦函数的工具箱import timemain_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.01sif __name__ == '__main__': main()
到此,关于“这么利用Python实现好看的水波特效”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341