利用Python實(shí)現(xiàn)好看的水波特效
前言
你的心要如溪水般柔軟,你的眼波要像春天般明媚。
——余光中

?似乎很少看見(jiàn)湍急的溪流,多數(shù)時(shí)候,溪水總是潺潺地流著,不疾不徐,有自己的節(jié)奏;
也似乎很少看見(jiàn)污濁的溪流,多數(shù)時(shí)候,溪水總是澄澈見(jiàn)底,偶爾拔起沙石,也很快能靜置溪底,重歸明凈。
一個(gè)像溪水的人,多半是通透清明的,他知道如何過(guò)濾掉和沉落生命中的雜質(zhì),以一顆澄澈的心,往自己的方向流去。

描寫(xiě)了這么多關(guān)于水的詩(shī)句,你是否能清楚的表達(dá),了解水是怎樣流動(dòng)的呢?
今天小編就用代碼描寫(xiě)我心目中的水流是怎樣的,Python代碼模擬水的波動(dòng)開(kāi)始啦
一、運(yùn)行環(huán)境
1)環(huán)境安裝
Python3、 Pycharm 、Pygame模塊部分自帶模塊就不展示啦。(如需安裝包、激活碼等直接
私信我即可安裝問(wèn)題解答都可以的哈~)
第三方庫(kù)的安裝:
pip install pygame 或者帶鏡像源 pip install -i https://pypi.douban.com/simple/ +模塊名
二、效果展示
截圖的貌似展示不出來(lái)水的波動(dòng)效果,嗨沒(méi)辦法 有點(diǎn)兒懶,就沒(méi)拍視頻,大家將就著看叭
真的視頻效果好好看滴!是隨水波蕩漾的~
1)第一組隨機(jī)風(fēng)景圖

2)第二組人物隨機(jī)圖

3)第三組真人圖片

三、代碼展示
"""照片模擬水的波動(dòng)效果"""
import pygame, os
from pygame.locals import *
from math import sin # 導(dǎo)入正弦函數(shù)的工具箱
import time
main_dir = os.path.split(os.path.abspath(__file__))[0] # 獲取當(dāng)前文件所在路徑
def main():
pygame.init() # 初始化
screen = pygame.display.set_mode((640, 480), HWSURFACE|DOUBLEBUF) # 生成一個(gè)窗口
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): # 模擬水的波動(dòng)效果
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()到此這篇關(guān)于利用Python實(shí)現(xiàn)好看的水波特效的文章就介紹到這了,更多相關(guān)Python水波特效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題的方法
對(duì)PyTorch torch.stack的實(shí)例講解
Python函數(shù)使用的相關(guān)練習(xí)題分享
keras model.fit 解決validation_spilt=num 的問(wèn)題
詳解python實(shí)現(xiàn)數(shù)據(jù)歸一化處理的方式:(0,1)標(biāo)準(zhǔn)化
centos 安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細(xì)教程
PyQt5中QPushButton的用法詳細(xì)解析與應(yīng)用實(shí)戰(zhàn)

