最近《孤勇者》這首歌特別火,我也覺得很好聽,不得不給陳奕迅點一個大大的贊。今天想用Python來做一個《孤勇者》的畫圖以及音樂可視化。 python里有個叫做 turtle 的庫,用它提供的方法可以很簡單的畫線和塗色: Python學習交流Q群:906715085#### import turtle ...
最近《孤勇者》這首歌特別火,我也覺得很好聽,不得不給陳奕迅點一個大大的贊。今天想用Python來做一個《孤勇者》的畫圖以及音樂可視化。
python里有個叫做 turtle 的庫,用它提供的方法可以很簡單的畫線和塗色:
Python學習交流Q群:906715085#### import turtle as t t.begin_fill() t.goto(100, 0) t.goto(100, 100) t.goto(0, 100) t.end_fill() t.done()
參考:
如果我們再“稍微”調整一下參數,就可以用這些代碼畫出圖案:
import turtle as t #t.speed(5) t.pencolor('pink') t.fillcolor('pink') t.penup() t.pendown() t.begin_fill() t.circle(100, -360) t.end_fill() t.pensize(15) t.pencolor('white') t.penup() t.goto(-40, 160) t.pendown() t.goto(40, 160) t.penup() t.goto(-50, 70) t.pendown() t.setheading(-80) t.circle(50, -200) t.penup() t.goto(0, 150) t.pendown() t.goto(0, 40) t.hideturtle() t.done()
之前我做的冰墩墩、谷愛凌、逆行者幾個案例都是用的這個庫。
另外還有個叫做 pgzero 的游戲開發庫,裡面有一個可以播放音符的方法。
from pgzero import tonetone.play("C3", 1)
之前我在 PONG 這個游戲中,就用它來實現小球撞擊板子時候的音效。
如果我們再“稍微”調整一下參數,就可以用這些代碼演奏出樂曲。
此外在 PONG 游戲中,我們還實現了繪製矩形、圓形,並且讓它們動起來。
那麼,如果我把以上的功能全部,合在一起,會產生什麼效果呢?
請看:
繪製效果:
音樂可視化:
繪圖和演奏的代碼本身並不“高深”,就是不斷反覆調用幾個語句。但這些語句加起來有一萬多行,你要硬肝當然也可以,也就是花個一兩個月時間吧。(之前某些抄襲我代碼的人居然還大言不慚說代碼不難,細心點就行了,真是無知無畏……)
我自然是另有特殊的方法,如果大家感興趣,後面我再專門寫幾篇來詳細解讀。
可視化部分比較有意思,之前有同學留言說想看做“音游”。這次雖然不是音游,但是基本要素都差不多了,後面我會整一個音樂游戲demo,想看的可以點個“在看”鼓勵一下。這一篇到這就要跟大家說再見了,下一篇見了。