少儿编程Scratch第十讲:钢琴演奏入门

网友投稿 2018-04-21 17:45

目的

目的:编写一个简易的钢琴演奏程序,了解Scratch对声音的处理(播放声音、弹奏鼓声、弹奏音符,控制节拍,选择乐器,控制音量等)。

适用对象:适合有一定编程和数学基础的用户,例如一二年级学生。在家长指引下小完成多数练习,用时约2小时。

https://cdn.china-scratch.com/timg/180423/1J5262521-0.jpg

本游戏共享在:https://scratch.mit.edu/projects/217924108/

实现方式

尽量使用简单的语句和方法,实现一个简易的钢琴。首先自己制作一个钢琴白色按键,有两个造型,只是颜色有点区别。按下按键的时候,切换造型,显示按下的效果。实现从1,2,3,4,5,6,7,i八个音节,因此复制角色即可。方法相同,制作5个黑色按钮角色。(为了简单,并未使用克隆功能,因此代码是重复的。这种方式适合入门的用户。)

一、钢琴白键:造型、按键和播放声音

1)自己制作一个角色,用填充白色的长方形即可。制作完毕以后,复制这个造型,修改填充颜色。白键的两个造型即完成。

https://cdn.china-scratch.com/timg/180423/1J52I519-1.jpg

2)添加按键、播放音节的脚本:开始时切换造型到1(即白色)。重复执行,判断按键A被按下,则切换造型2(浅蓝色),然后“弹奏音符60 0.5节拍”,如果没有A被按下,则切换回造型1(白键)。

https://cdn.china-scratch.com/timg/180423/1J52SX4-2.jpg

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。为了简单,这里并未使用变量。级别高的用户可以使用变量,以便在整体往右移动按键的时候会简单些。

https://cdn.china-scratch.com/timg/180423/1J52Q442-3.jpg

二、钢琴黑键:造型、按键和播放声音

1)使用相同的方法制作黑键。两个造型,高度稍短。位置和钢琴上的黑键相同,即3,4之间没有黑键。

https://cdn.china-scratch.com/timg/180423/1J5291137-4.jpg

改进

中高级用户可以实现这些改进功能:

1)        使用变量统一控制钢琴按键在屏幕中的相对位置。

2)        使用克隆,减少角色数量,使用一个白色角色、黑色角色,通过克隆,即可实现所有按键。(代码虽有所减少,但单个角色中的代码会增加,程序会复杂一些)

3)        考虑按键时长:这种循环中,直接判断某个按键是否被按下,存在严重的缺陷。即用户如果连续按着按键,系统会再次播放这个音节。相当于每次都是固定的0.5拍,不会随着按键快慢而变换节奏。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com