資訊內容
少兒編程Scratch第十講:鋼琴演奏入門
目的
目的:編寫一個簡易的鋼琴演奏程序,了解Scratch對聲音的處理(播放聲音、彈奏鼓聲、彈奏音符,控制節拍,選擇樂器,控制音量等)。
適用對象:適合有一定編程和數學基礎的用戶,例如一二年級學生。在家長指引下小完成多數練習,用時約2小時。
本游戲共享在:https://scratch.mit.edu/projects/217924108/
實現方式
盡量使用簡單的語句和方法,實現一個簡易的鋼琴。首先自己制作一個鋼琴白色按鍵,有兩個造型,只是顏色有點區別。按下按鍵的時候,切換造型,顯示按下的效果。實現從1,2,3,4,5,6,7,i八個音節,因此復制角色即可。方法相同,制作5個黑色按鈕角色。(為了簡單,并未使用克隆功能,因此代碼是重復的。這種方式適合入門的用戶。)
一、鋼琴白鍵:造型、按鍵和播放聲音
1)自己制作一個角色,用填充白色的長方形即可。制作完畢以后,復制這個造型,修改填充顏色。白鍵的兩個造型即完成。
2)添加按鍵、播放音節的腳本:開始時切換造型到1(即白色)。重復執行,判斷按鍵A被按下,則切換造型2(淺藍色),然后“彈奏音符60 0.5節拍”,如果沒有A被按下,則切換回造型1(白鍵)。
3)其他按鍵類似,只是彈奏的音符不同,1,2,3,4,5,6,7,i八個音符的數字依次為:60,62,64,65,67,69,71,72.
4)為了使按鍵間隔一致,初始化時移動到X Y,Y為0,X從-180開始,每個按鍵增增加50。為了簡單,這里并未使用變量。級別高的用戶可以使用變量,以便在整體往右移動按鍵的時候會簡單些。
二、鋼琴黑鍵:造型、按鍵和播放聲音
1)使用相同的方法制作黑鍵。兩個造型,高度稍短。位置和鋼琴上的黑鍵相同,即3,4之間沒有黑鍵。
改進
中高級用戶可以實現這些改進功能:
1)????????使用變量統一控制鋼琴按鍵在屏幕中的相對位置。
2)????????使用克隆,減少角色數量,使用一個白色角色、黑色角色,通過克隆,即可實現所有按鍵。(代碼雖有所減少,但單個角色中的代碼會增加,程序會復雜一些)
3)????????考慮按鍵時長:這種循環中,直接判斷某個按鍵是否被按下,存在嚴重的缺陷。即用戶如果連續按著按鍵,系統會再次播放這個音節。相當于每次都是固定的0.5拍,不會隨著按鍵快慢而變換節奏。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
