Scratch进阶——玩转音乐

Scratch 少儿编程 931浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

如果你关注了我的公众号(请点击顶上蓝色文字链接),就会注意到前一篇文章提及了Scratch这门有趣的编程语言(麻省理工出品,值得信赖)。不过那篇的介绍蜻蜓点水一般,这一篇呢,我将借助一个具体的案例,一步步演示怎么玩转Scratch(为了好懂,原谅我把大家想象成小孩子,所有行文全用大白话)。

 

Music,Please!

Scratch进阶——玩转音乐

 

附带一点点乐理知识:

Scratch进阶——玩转音乐

 

有了前面的准备,现在可以打开Scratch编辑器(程序下载安装的办法见前文),一步步实现文章题目中的愿景了。

 

首先,我们点击scratch左下角背景编辑区从背景库中选择一副中意的背景图:

 

Scratch进阶——玩转音乐

 

接着,我们进入scratch左下角角色编辑区把捣蛋的小猫赶走,选择与主旨相符的题材:

Scratch进阶——玩转音乐

 

然后呢?我们想让前面选中的题材随着音乐律动,所以需要在脚本里加入动作控制(左边的球顺时针旋转即scratch中的右转,右边的球逆时针旋转即scratch中的左转):

Scratch进阶——玩转音乐

 

铺垫了这么多,该最后一步了,设法让音乐响起来

 

先根据最前面的乐谱,整理好对应的scratch音符:

Scratch进阶——玩转音乐

 

等不及了,我们简单粗暴就上:

Scratch进阶——玩转音乐

 

但是,太粗鄙了。这首曲子还不长,拖几下积木就OK了。如果换一首长点的曲子,那不累死人啦。所以,我们的程序应该换用精致一点的做法。

 

考虑引入两个scratch列表。一个用来存储音符(见下面中的“音符列表”),一个用来存储对应的节拍(见下图中的“节拍列表”)。休止符呢,就用0表示。接下来我们选择使用一个重复积木,音符列表的项目数就是重复的次数。第一次读取音符列表的第一项,如果该项为0,就使用休止符积木,否则就使用弹奏积木,然后再读取下一项,如此反复,直到处理完整个音符列表。要实现这个效果,我们还得引入一个变量控制读取的位置(见下图中的变量“i”)。进入重复积木前把该变量设定为1,每执行一次重复积木内所有积木的处理,该变量增加1。好啦,附上程序代码图:

Scratch进阶——玩转音乐

 

点击音乐播放积木组合,试听一下效果,还不错。

 

最后我们让程序更酷一点,依次用scratch中的21种乐器弹奏乐曲。为了达到这个效果,得引入了另一个重复积木和变量(作用是控制每次播放音乐说使用的乐器,见下图中的变量“n”)。再在开头引入启动积木,结尾引入停止全部积木,附上最终版程序图:

Scratch进阶——玩转音乐

 

到此为止,一个相对比较让人满意的音乐播放程序就大功告成了。

 

可以说,经此一役,我们基本熟悉了scratch的操作。那么,赶紧打开电脑,启动scratch,把我讲的从头至尾学着操作一番吧!

 

当然,还有一些更高级的玩法。待我下次讲解。

 


附注:

1)scratch里的列表是可以导入外部数据的。导入之前只需把数据项整理到一个文本文件里,以行做分隔,每行表示一个数据项,保存备用。

Scratch进阶——玩转音乐

2)整理音符的时候,可以在excel里方便的处理。细节见下图:

 

Scratch进阶——玩转音乐

转自公众号:
流水的代码

您必须 登录 才能发表评论!