鍵盤鋼琴 ( 音符動畫 )
這篇文章會介紹,如何在 Scratch 裡使用擴充功能的音樂、按下鍵盤、重複無限次...等積木,實作鍵盤演奏鋼琴的效果,並在彈奏時,產生音符往上飄動的動畫效果。
角色設定
在角色編輯區,使用繪畫,繪製一個的新角色 ( 參考:造型與繪圖 )。
使用文字工具,輸入音符的圖案。
音符圖案可以從這個網頁點選複製:特殊符號 - 音符
為這個音符角色,新增四個造型,每個造型都是不同的音符圖案。
將舞台新增一張背景圖片,完成後應該就能在舞台上看到音符和背景。
積木程式原理
一開始先透過「尺寸」、「圖像效果 - 亮度」、「圖像效果 - 幻影」和「定位」積木,將黑色的音符,以指定的大小放在舞台的中間正下方 ( 亮度的作用在於將黑色調量變白色,幻影的作用在於待會要讓音符慢慢消失 )。
使用「重複無限次」、「如果...那麼」和「...鍵被按下」的積木,偵測鍵盤的 a、s、d、f、g 鍵被按下時,改變 x 的位置,並且使用擴充功能的「音樂」,分別演奏 60、62、64、65、67 的音階。
點擊綠旗,按下鍵盤按鍵,就能看到音符在舞台底部左右移動,同時也能從喇叭聽到聲音。
回到點擊綠旗下方,放入「隱藏」積木,讓隱藏音符角色本尊,接著在按下鍵盤的動作,加入建立音符「分身」的積木,並設定分身建立後,顯示分身,以及隨機出現 1~4 的造型。
點擊綠旗,按下鍵盤按鍵,舞台下方就會出現隨機造型的音符圖案。
放入「重複 100 次」積木,每次重複將「圖像效果 - 幻影」增加 1,音符就能夠在重複 100 次之後變成全透明,每次重複也將音符的尺寸變大和位置向上移動,就能夠做到逐漸往上移動,且越來越大、越來越透明。
點擊綠旗,按下鍵盤按鍵,就會看見音符往上飄,且越來越大,越來越透明。
如果要做得更為細緻,可以加入音符的水平的移動,下圖使用「函式」搭配另外一個「當分身產生」的程式,在產生分身後,讓音符的 x 改變做水平移動。
為什麼要用函式而不用變數?因為如果使用變數,所有音符會共用同樣的變數內容,造成水平移動都會是同樣的距離,如果使用函式,就能讓每個音符水平移動的距離有所不同。
完成效果
完成後,點擊綠旗,按下鍵盤按鍵,就會看見音符往上飄的動畫效果了。
範例解答
範例解答:鍵盤鋼琴 ( 音符動畫 )
延伸練習
如果已經熟悉了鍵盤鋼琴 ( 音符動畫 )的原理,還可以嘗試更多好玩的作法:
使每次產生的音符都是不同顏色。( 解答 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~