顯示聲波圖形
這篇文章會介紹,在 Scratch 裡偵測麥克風的聲音響度,並透過畫筆、函式、變數、重複、定位...等積木,在 Scratch 的舞台上顯示麥克風所收到的聲波圖形。
角色設定
在角色編輯區,刪除貓咪角色,使用繪畫,建立一個「空白」的新角色 ( 參考:造型與繪圖 )。
因為待會不會出現角色,所以直接使用全空的空白角色。
積木程式原理
點擊空白角色,新增一個名為「y」的變數,和一個名為「list」的清單。
編輯當點擊綠旗時的程式:
- 刪除 list 清單所有項目 ( 清空 list 內容 )。
- 使用重複 480 次積木,將 480 個 0 加入 list ( 因為舞台寬度為 480 )。
- 使用重複無限次積木。
- 每次重複時,偵測麥克風聲音響度,將聲音響度加入 list ( 添加在最後一項 )。
- 每次重複時,刪除 list 的第一個項目,使 list 保持 480 個項目。
從左側清單,建立一個名為「draw」函式,勾選「執行完畢再更新畫面」。
「執行完畢再更新畫面」的功能,可以讓函式內不需要等待的程式快速執行,加快畫面運行速度。
編輯 draw 函式,讓函式執行時,可以畫出 list 的內容。
- 將角色定位到 (-240, 0) 畫面最左邊。
- 清除舞台所有筆跡、下筆。
- 將變數 y 設為 0,作為取得 list 項目使用。
- 使用重複 480 次積木,每次重複執行:
- 將 y 增加 1。
- 將 x 改變 1,往右移動。
- 將 y 座標移動到 list 對應的位置 ( 正值在上方,乘以 -1 變成負值在下方 )
- 停筆。
最後在點擊綠旗的積木裡,執行 draw 函式。
完成效果
完成後,點擊綠旗,對著麥克風發出聲音,就可以看見聲波圖形出現在舞台中。
範例解答
範例解答:顯示聲波圖形
延伸練習
如果已經熟悉了顯示聲波圖形的原理,還可以嘗試更多好玩的作法:
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~