資訊內(nèi)容
玩Scratch創(chuàng)作 演奏樂(lè)曲(二)
創(chuàng)作_04?演奏樂(lè)曲_2粉刷匠
同學(xué),你好。
學(xué)習(xí)了用Scratch演奏《小星星》后,我們?cè)僮孲cratch演奏一首《粉刷匠》。
(演奏樂(lè)曲_2粉刷匠)
在《小星星》里,我們能使用一條語(yǔ)句,演奏一個(gè)音符。這樣的話,如果一首歌的音符很多,那么整首歌要使用很多語(yǔ)句。有沒(méi)有更好的辦法?
有!
Step 1 使用列表,存儲(chǔ)音符和節(jié)拍
在“變量”模塊中,找到”建立一個(gè)變量“按鈕,分別建立名為“音符”的列表和名為“節(jié)拍”列表。
(圖1 建立”音符“和”節(jié)拍“列表)
這樣,在舞臺(tái)上就出現(xiàn)了這兩個(gè)列表。
(圖2 舞臺(tái)上出現(xiàn)的空白列表)
在網(wǎng)上找到《粉刷匠》簡(jiǎn)譜。
(圖3 《粉刷匠》簡(jiǎn)譜)
根據(jù)簡(jiǎn)譜,將音符對(duì)應(yīng)的值輸入音符列表。例如,第1個(gè)音符”5“,對(duì)應(yīng)的值是67,將67輸入音符列表的第1項(xiàng);第2個(gè)音符是”3“,對(duì)應(yīng)的值是65,將65輸入音符列表的第2項(xiàng)。
?
(圖4 圖5 音符與對(duì)應(yīng)的值)
(音符1/2/3/4/5/6/7對(duì)應(yīng)的值分別是60/62/64/65/67/69/71。)
按順序輸入這首歌的所有音符。
接下來(lái),將每一個(gè)音符對(duì)應(yīng)的節(jié)拍輸入節(jié)拍列表。
(圖6 音符列表、節(jié)拍列表)?
Step 2 初始化并添加演奏語(yǔ)句
添加“將樂(lè)器設(shè)為(1)鋼琴”語(yǔ)句,設(shè)置演奏的樂(lè)器。
添加“將演奏速度設(shè)定為60”語(yǔ)句,60改為90,設(shè)置演奏速度。
以上兩條語(yǔ)句,完成初始化設(shè)置。
Step 3 使用列表項(xiàng)目數(shù),設(shè)置重復(fù)次數(shù)
添加”重復(fù)執(zhí)行10次“語(yǔ)句。
重復(fù)執(zhí)行多少次呢?這首歌有48個(gè)音符,當(dāng)然重復(fù)48次。
在列表的屬性里,有”列表的項(xiàng)目數(shù)”這條語(yǔ)句,將它拖到腳本區(qū),填入“重復(fù)執(zhí)行 ?次”的參數(shù)中,替換掉默認(rèn)的10。
(圖7 設(shè)置循環(huán)次數(shù)為”音符的項(xiàng)目數(shù)“)
添加演奏音符語(yǔ)句“演奏音符60 0.25拍”。
我們希望程序能在第1次,演奏音符的第1項(xiàng);第2次,演奏音符的第2項(xiàng)……那么,這個(gè)音符參數(shù)應(yīng)該怎么填呢?別急,用一個(gè)變量來(lái)實(shí)現(xiàn)。
Step 4 使用變量,讀取列表每一項(xiàng)
怎么實(shí)現(xiàn)呢?
添加一個(gè)變量,設(shè)置變量名為“n”。拖入“將n設(shè)為0”和“將n增加1”,分別放到循環(huán)語(yǔ)句前和循環(huán)語(yǔ)句中。
(圖8 變量初始化、變量遞增)
這兩句話,分別是給變量設(shè)置初始值0;每循環(huán)一次,變量n的值增加1,通常在程序中,稱為自增。循環(huán)體執(zhí)行第1次,n=1;循環(huán)體執(zhí)行第2次,n=2;……。將變量n放入演奏語(yǔ)句的音符值處,演奏”音符的第n項(xiàng)“。這樣,我們就讓程序在循環(huán)執(zhí)行第1次的時(shí)候,演奏音符列表第1項(xiàng);循環(huán)執(zhí)行第2次的時(shí)候,演奏音符列表第2項(xiàng);循環(huán)執(zhí)行第n次的時(shí)候,演奏音符列表第n項(xiàng)。
(圖9 將變量填入演奏語(yǔ)句)
注意:要同時(shí)將節(jié)拍設(shè)置為”節(jié)拍的第n項(xiàng)“。?Step 5 調(diào)試、完善程序
添加”當(dāng)綠旗被點(diǎn)擊“事件,完善程序。
(圖10 完整的程序)
按綠旗,調(diào)試作品。?趕快試著編寫作品吧!(玩Scratch創(chuàng)作_04?演奏樂(lè)曲(二)?視頻教程)?聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除
