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

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

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

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

3)第三組真人圖片

三、代碼展示
"""照片模擬水的波動效果"""
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): # 模擬水的波動效果
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)Telnet自動連接檢測密碼的示例
這篇文章主要介紹了Python實(shí)現(xiàn)Telnet自動連接檢測密碼的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
Python 實(shí)現(xiàn)日志同時(shí)輸出到屏幕和文件
這篇文章主要介紹了Python 實(shí)現(xiàn)日志同時(shí)輸出到屏幕和文件,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
DataFrame 將某列數(shù)據(jù)轉(zhuǎn)為數(shù)組的方法
下面小編就為大家分享一篇DataFrame 將某列數(shù)據(jù)轉(zhuǎn)為數(shù)組的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python實(shí)現(xiàn)LR1文法的完整實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)LR1文法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法
今天小編就為大家分享一篇python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python matplotlib 畫dataframe的時(shí)間序列圖實(shí)例
今天小編就為大家分享一篇python matplotlib 畫dataframe的時(shí)間序列圖實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

