資訊內容
Scratch進階——玩轉音樂
如果你關注了我的公眾號(請點擊頂上藍色文字鏈接),就會注意到前一篇文章提及了Scratch這門有趣的編程語言(麻省理工出品,值得信賴)。不過那篇的介紹蜻蜓點水一般,這一篇呢,我將借助一個具體的案例,一步步演示怎么玩轉Scratch(為了好懂,原諒我把大家想象成小孩子,所有行文全用大白話)。
Music,Please!
附帶一點點樂理知識:
有了前面的準備,現在可以打開Scratch編輯器(程序下載安裝的辦法見前文),一步步實現文章題目中的愿景了。
首先,我們點擊scratch左下角背景編輯區從背景庫中選擇一副中意的背景圖:
接著,我們進入scratch左下角角色編輯區把搗蛋的小貓趕走,選擇與主旨相符的題材:
然后呢?我們想讓前面選中的題材隨著音樂律動,所以需要在腳本里加入動作控制(左邊的球順時針旋轉即scratch中的右轉,右邊的球逆時針旋轉即scratch中的左轉):
鋪墊了這么多,該最后一步了,設法讓音樂響起來
先根據最前面的樂譜,整理好對應的scratch音符:
等不及了,我們簡單粗暴就上:
但是,太粗鄙了。這首曲子還不長,拖幾下積木就OK了。如果換一首長點的曲子,那不累死人啦。所以,我們的程序應該換用精致一點的做法。
考慮引入兩個scratch列表。一個用來存儲音符(見下面中的“音符列表”),一個用來存儲對應的節拍(見下圖中的“節拍列表”)。休止符呢,就用0表示。接下來我們選擇使用一個重復積木,音符列表的項目數就是重復的次數。第一次讀取音符列表的第一項,如果該項為0,就使用休止符積木,否則就使用彈奏積木,然后再讀取下一項,如此反復,直到處理完整個音符列表。要實現這個效果,我們還得引入一個變量控制讀取的位置(見下圖中的變量“i”)。進入重復積木前把該變量設定為1,每執行一次重復積木內所有積木的處理,該變量增加1。好啦,附上程序代碼圖:
點擊音樂播放積木組合,試聽一下效果,還不錯。
最后我們讓程序更酷一點,依次用scratch中的21種樂器彈奏樂曲。為了達到這個效果,得引入了另一個重復積木和變量(作用是控制每次播放音樂說使用的樂器,見下圖中的變量“n”)。再在開頭引入啟動積木,結尾引入停止全部積木,附上最終版程序圖:
到此為止,一個相對比較讓人滿意的音樂播放程序就大功告成了。
可以說,經此一役,我們基本熟悉了scratch的操作。那么,趕緊打開電腦,啟動scratch,把我講的從頭至尾學著操作一番吧!
當然,還有一些更高級的玩法。待我下次講解。
附注:
1)scratch里的列表是可以導入外部數據的。導入之前只需把數據項整理到一個文本文件里,以行做分隔,每行表示一個數據項,保存備用。
2)整理音符的時候,可以在excel里方便的處理。細節見下圖:
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

- 上一篇
孩子說:我不只是會玩它們,我甚至可以創造它們
作者:游于藝 最近忙于畢業設計,計算機專業的我每天沉迷于編程無法自拔,在代碼中遨游......自從以Internet為核心的現代網絡技術和通信技術已經得到了飛速的發展和廣泛應用,技術的存在讓一切變得便利化、信息化、娛樂化,人們已經無法離開手機、計算機。如果是正在找
- 下一篇
少兒編程|入門課(2)魔術表演
嘿,大家好,上周我們學習了Scratch是什么,并且通過幾個小任務,體驗了Scratch神奇的功能。 今天,老師想問問我們的小朋友們,你們喜歡看魔術表演嗎? 是不是覺得魔術很神奇呢! 其實,我們每個人都是魔術師,只要通過編程,我們就可以將各種小