您好,登錄后才能下訂單哦!
這篇文章主要介紹“這么利用Python實現好看的水波特效”,在日常操作中,相信很多人在這么利用Python實現好看的水波特效問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”這么利用Python實現好看的水波特效”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1)環境安裝
Python3、 Pycharm 、Pygame模塊部分自帶模塊就不展示啦。(如需安裝包、激活碼等直接
私信我即可安裝問題解答都可以的哈~)
第三方庫的安裝:
pip install pygame 或者帶鏡像源 pip install -i https://pypi.douban.com/simple/ +模塊名
截圖的貌似展示不出來水的波動效果,嗨沒辦法 有點兒懶,就沒拍視頻,大家將就著看叭
真的視頻效果好好看滴!是隨水波蕩漾的~
"""照片模擬水的波動效果""" 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實現好看的水波特效”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。