首页 > scratch> 详细内容
我教“孩子”在10小时内精通Scratch-第3小时:键盘变钢琴
日期:2019-05-03 

又到了一周一度的教女儿编程的时间,今天我要教她用Scratch把电脑键盘变成她喜欢玩的乐器。

女儿会弹钢琴,那么我就用钢琴举例子。

说到钢琴,其实我女儿是我的钢琴老师。她以前教我很用心,但是我学的不好。

表面原因是我不懂谱,弹起来也就不靠谱。

深层原因是我动机不纯,打着学钢琴的幌子约会(对,和女儿约会,看不懂的去看“第1小时” ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄)。

记不住该弹哪个键,节奏不行,指法不行。我想很多人都有这样的问题。

不用灰心!在这编程的世界里,我们可以把这些问题统统消灭掉!!!

指法不行?我有10年的按键盘经验!

节奏不行?Scratch可以用数字设置节奏!

记不住该弹哪个键?我可以在Scratch自动设置好顺序!

总之,有了Scratch,弹钢琴变得so easy!女儿再也不用担心我的学习!

言归正传,视频要接通了!

看到女儿圆圆的小脸蛋,我就想笑,“乖女儿,今天你想不想弹钢琴啊?”

女儿撒娇说,“但是我身边没有钢琴啊/”

我就告诉她,“今天我教你用Scratch把电脑变成一台钢琴吧?”

女儿说,“我以前就知道可以编程作曲,我这就打开Scratch!”

等她打开Scratch,点击Create按钮,进入到我们常见的编程区域,我就让她先体验一下脚本里的“声音”按钮,“你先体验一下“声音”按钮吧,先把事件里的‘当绿旗被点击’拖到代码区,再点击'声音'按钮,把‘播放声音meow’这个块放在下面。”她应该是这样写的代码:

图片制作by君君

“弄好啦,我点击绿旗看看。” 她点击鼠标,视频那边就传出一声猫叫,“还真的有声音!”

我鼓励她,“是不是很简单啊,那么做钢琴也很容易哦。”

她问我,“那要怎么做呢?快告诉我!”

我把接下来要做什么告诉她,“接下来我们先变魔法,把一台钢琴变到舞台上来。”

她打断我,“这么神奇?怎么变怎么变?”

小朋友都这样充满好奇心,我开始指导她,“哈哈,来吧,我们开始变魔术!”

我接着告诉她,“你看“角色”区域,点击新建角色的那个小娃娃按钮,就是左边第一个,这里是Scratch的角色库,有很多很多不同类型的橘色,你点击“物品”,然后下拉,看到那个钢琴了吗?名字是piano。”

她回答我,“你等会儿啊,我找找,钢琴,piano,钢琴。。。找到啦!我知道,点击钢琴,再点确定!”

我肯定她的努力,“对的,就是这样!” 

过程如下:

图片制作by君君

然后我告诉她,“你去看看钢琴里有什么宝贝啊,你点击“角色”区域的钢琴,再点击“脚本”右边的“声音”按钮。看到什么啦?”

她的回答是,“看到好多喇叭,还有冲击波状的东西,那些是振动吧,我学过,声波也是振动!” 对,就是下图这样:

图片制作by君君

然后我告诉她,“为了让键盘和钢琴之间有联系,你需要‘脚本’里的‘事件’按钮里的指令。这样,你把‘当按下空格键’这个块拖到代码区域,然后把‘声音’里的‘播放声音’这个块放到它下面。”

“为了方便你操作,你把长方形里的空格键改成1。”

图片制作by君君

我又告诉她,“然后你不需要重新弄,对于多次重复的代码,你只需要右键点击代码,选择复制就可以啦。记得把复制代码里的1改成2,C piano改成D piano。” 过程应该是这样的:

图片制作by君君

她通过视频把电脑屏幕给我看,我确定没问题,让她以此类推得到如下的代码:

图片制作by君君

她尝试地按1到8之间的数字键,告诉我,“真的有声音啊!好有意思!”

我问她,“是不是很简单啊?”

她很开心,说,“是啊,不过钢琴没什么动静,如何让钢琴也有反应呢?”

图片制作by君君

我告诉她,“这也不难,你只需要点击钢琴,把外观里的‘将颜色特效设定为0’这个块拖到‘播放声音’块的后面,再改改里面的数字就可以啦。”她给我看了她的代码:

图片制作by君君

这时候再按1到8之间的数字,就会出现这样的效果:

图片制作by君君

我让她玩了一忽儿,就给她提出下个任务,“会玩了吧?哈,现在让我们来作曲吧!”

她有点犯萌了,“什么!我没有谱啊!那我先去搜一搜~”

我连忙告诉她,“不用啦!我已经给你准备好啦!看爸爸对你多好!”

她被我占了这么多次便宜,也就无所谓了,只是依然笑着,等我的指挥。

我告诉她,“你现在按第一节,听好啦,1-1-2-1-4-3。”

她照做了,“啊哈!这是祝你生日快乐!”

我有点沮丧,“好吧,你这么快就听出来啦!”

她说,“没有啊,你接着说!”

明明就是有!哼!

我告诉她,“然后第二节,按1-1-2-1-5-4;”

“第三节是1-1-8-6-4-3-2;”

“最后一节是7-7-6-4-5-4!”

“好啦,你把这四节连起来弹弹看。”

她告诉我,“你等会儿啊,我拿笔记记数字。”

为了有一种弹钢琴的感觉,我让她把“键盘”角色放在舞台上,“现在你把键盘放上舞台,点击‘新建角色’的小娃娃按钮,选择‘物品’,再选择里面的‘Piano-Electric’,就完成啦。”

我告诉她,“现在我教你怎么把钢琴的代码复制给键盘,这样我们就不用重新写啦。”

“你只要把钢琴角色里的一段代码复制,然后移动到角色区域里的键盘上方,点击鼠标左键就可以啦。”

她照做了,告诉我,“可是点完就没了,什么都没发生啊!”

我笑了笑,“那你点击角色区域里的键盘看看。”

她照做了,然后就惊呼,“代码真的复制过来了!好神奇!”效果是这样的。

图片制作by君君

我又让她以此类推,把代码全部复制过来,再去掉所有的“将颜色特效设定为”的代码块。键盘角色就得到如下的代码:

图片制作by君君

我接着跟她说,“因为我们要按钢琴键盘的效果,而键盘是有其它造型的。所以你把‘外观’按钮里的‘下一个造型’块放到所有‘播放声音的代码下面,这样我们在按数字的时候,键盘就会变换造型,让你觉得你在弹钢琴。”

键盘的造型在这里:

图片制作by君君

下面是给键盘变换造型的代码:

图片制作by君君

然后我们点击1到8之间的数字,就可以让钢琴变色,并且键盘也有特效。效果如下:

图片制作by君君


这些都告一段落了,我跟她提出做最后一个项目,“接下来呢,我们一起看看怎么预先设定一段谱,让电脑自己去弹奏!”

她说,“好啊,那我就学会用Scratch编曲了!”

我让她把舞台布置好看一些,比如点击舞台区域(在角色区域左边)里的“新建背景”按钮:

图片制作by君君

选择“主题”下面的“音乐和舞蹈”,

图片制作by君君

最后选择"Stage1",点击“确定”按钮:

图片制作by君君

就接着教她探索,“在‘舞台’里,你把‘事件’按钮里的‘当绿旗被点击’拖到代码区域,再把‘声音’按钮里的‘弹奏音符60 0.5拍’这个块放到它下面。” 过程如下:

图片制作by君君

她告诉我,“我点击这个数字60,发现,原来60对应的是中央C键,每个键都和一个数字一一对应啊!”

我就问她,“这是不是非常方便编曲啊!”

她专注着电脑,貌似没听见。

我接着告诉她,“再看看‘设定乐器为1’这个指令。如果点击1,我们会看到一长串列表,里面告诉我们Scratch可以模拟很多不同的乐器。”

她挨个看那些名字,一边念出来,“钢琴,电子琴,风琴,吉他,电吉他。。。想不到Scratch这么厉害!这下有得玩了!”

图片制作by君君

我告诉她,“现在我们看祝你生日快乐那首歌的第一节,我们在电脑键盘上输入的‘1-1-2-1-4-3’对应的就是钢琴的‘C-C-D-C-F-E’,那么在Scratch里也就是‘60-60-62-60-65-64’。这种转换关系要弄清楚哦。”

她已经有点蒙圈了。。。“等等!我算算啊。。。”

我看着她拿着手指头开始比划,一边翻翻白眼,过了大概1分钟,她好像终于搞明白了,“我懂啦,是‘电脑键盘到真实钢琴再到Scratch’这样的顺序!”

图片制作by君君

最后她给出了她把“祝你生日快乐”这首歌的Scratch代码,并且演奏给我看。代码如下:

图片制作by君君

最后,她发现,虽然有音乐的声音,但是钢琴和键盘完全没动静。

她问我,“怎么让钢琴和键盘也跟着预先设计好的音乐动起来呢?”

我告诉她,“我今天没计划这个,下次再教你吧!”

她急了,“教教我嘛,小气!”

我哈哈大笑,“哈哈,其实呢,这也很简单,你点击舞台,再写一段代码。”

“依然是先写‘当绿旗被点击’,然后在‘事件’按钮里找‘广播消息1’这个块放在它下面。这个代码块很有用,是告诉所有其他人消息的,相当于传令官!对了,你最好把‘消息1’改成别的你一下就能明白的‘消息’。”

她说,“那我改成‘开始’吧。”


图片制作by君君

我调侃她,“你开心就好!哈哈!然后你点击钢琴,让它接收消息。”

我女儿问我,“是不是放‘事件’里的‘当接收到开始’?”

我很高兴,“是啊,就是这么简单!然后放‘将颜色特效增加25’,你可以随意设置数字。不过为了一直变换效果,最好加上‘重复执行’指令块。”

图片制作by君君

对于键盘,过程是类似的,就不多说了。代码如下:

图片制作by君君

最后点击“绿旗”就可以听着生日快乐歌,并且看到这样的效果啦!

图片制作by君君

女儿高兴地用手给我比了个胜利的V字,“耶!原来这些都这么简单!”

我也很满足,“好啦!这次课就结束啦!”

女儿问我,“下次课我们学什么啊?”

我告诉她,“你已经学会了如何控制角色移动,如何画画,如何导入声音,下次我就教你怎么利用这些做一个小游戏吧!”

女儿一听说做游戏,很开心地比了两个胜利的V字,并对我欢呼,“耶!耶!”

好啦,这1小时就结束啦,总结一下,我教会我女儿怎么让键盘和Scratch有互动,从而做一些简单的弹钢琴和编曲的任务,希望我的教程对大家有帮助!下1小时,我会教我的女儿怎么用Scratch做一个小游戏,会用到之前三次课学到的东西,也会有新的玩法出现。敬请期待!



作者:君君玩科技
链接:https://www.jianshu.com/p/1d115744c328
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。