中科白癜风公益活动 http://baijiahao.baidu.com/s?id=1700353473777029651&wfr=spider&for=pc#少儿编程#我们使用列表来演奏曲目。有了列表,我们就可以自己创建曲子,编辑曲子了。但是,一首曲子输入到列表里,也不容易,我们当然希望输入好的曲子能够反复利用。所以如果我们写好的曲子也想应用到别的程序里,要怎么做呢?Scratch的列表提供了导入和导出功能,这两个功能能够实现我们的想法。技能1:列表的导出所谓导出,就是将现有的列表内容存成一个文件。①右键点击要导出的列表,然后会弹出一个菜单(图1)图1②点击“导出”项,会弹出保存文件的窗口(图2)。“文件名”:给导出的文件起个名字(图2中红色箭头指的输入框),默认是列表的名字,你可以就用这个名字,也可以另外起一个。“保存类型”:Scratch规定是保存成txt文件,不能更改。txt文件是通用的文本文件。图2红框处是保存的路径,你们自己要记住保存的位置。如何保存文件我在一开始的几篇就有说过了。图2:保存文件注意:我们写的程序创建了两个列表,音符和节拍列表,这两个列表组成了一首曲子,所以我们导出列表也要把这两个列表都导出来。我们在文件夹里找到我们刚才导出的音符和节拍文件(图3)图3:分别双击这两个文件,我们可以看到文件的内容,图4是打开的音符文件和节拍文件的内容和格式。图4如果我们想修改内容,可以直接在文件里修改,再导入到列表里。技能2:列表的导入所谓导入就是把txt文件的内容放进列表里。①先创建一个名为“音符”的列表②右键点击刚创建的列表,会弹出一个菜单(图5)图5③点击“导入”项,会弹出选择文件的窗口(图6)。点击你要导入的文件,“文件名”处(图6红色箭头指向)就会有你要导入的文件名。图6④点击“确定”按钮,txt文件里的内容就导入到列表里了(图7)图7技能3:删除列表右键点击变量模块里的列表变量,比如我们刚才创建的“音符”列表,在弹出的菜单里单击“删除音符列表”(图8),这个列表就删掉了。图8做一个配乐小动画,曲子就用练习的梁祝,乐曲响起,两只蝴蝶在草丛上飞(图9)。图91、分析任务要求任务角色:角色用Butterfily1任务背景:背景用forest背景图任务内容:创建音符列表和节拍列表,直接导入梁祝曲目乐曲响起,蝴蝶就在草丛中飞乐曲停止,蝴蝶就停下2、程序设计针对舞台forest的程序设计:音乐的播放由舞台这个编程对象来完成。当程序运行时,舞台首先设置好乐器和演奏速度,然后发布广播“音乐开始”,之后就播放乐曲,播放结束后,发布广播“音乐停止”。针对角色Butterfily1的程序设计:当角色接收到“音乐开始”的广播后,角色蝴蝶就开始在舞台上不断切换造型,并上下飞舞,直到接收到“音乐停止”的广播后,蝴蝶停下。程序流程图如图10:图、Scratch编程实现第一步:设置舞台背景在舞台背景设置区,点击“选择背景”图标,在背景列表中选择forest背景图(图11)。图11第二步:设置角色在角色设置区,点击“选择角色”图标,在角色列表中选择Butterfily1角色(图12),然后在角色设置区把大小调成50,以符合舞台的大小。图12第三步:编程首先编写舞台forest的程序。点击舞台背景设置区的图片,将该背景设为当前编程对象(图13)。图)创建列表①创建两个列表:音符和节拍(图14)。图14②把曲子的音符和节拍列表导出成txt文件,然后分别导入新建的这两个列表里(图15)。图15③新的列表创建好,列表前面的复选框是勾上的,并且会在舞台区显示出来,如图15。把节拍列表和音符列表前面的复选框里的勾去掉(图16),这样舞台区就不会显示列表了。图)创建变量我们需要有一个变量来记录我们已经演奏到第几个音符了,创建变量i(图17)。图17注意:以背景为编程对象,所创建的变量和列表都是全局变量。3)编程实现播放乐曲根据前面程序设计的思路,播放乐曲由舞台背景来执行,代码如图18图18①当程序运行时,设置演奏乐曲为钢琴,演奏速度为90②初始化变量i,变量i是用来记录已经演奏第几个音符了,初始值设为0③发布广播“音乐开始”④使用控制模块里的循环体来重复执行演奏积木,循环的次数为音符列表的项目数,就是音符的个数⑤每次循环,变量i就加1,然后演奏第i个音符⑥直到执行的次数为列表的项目数,就结束循环,然后发布广播“音乐停止”。然后编写角色Butterfily1的程序。点击角色设置区的Butterfily1角色,将该角色设为当前编程对象(图19),注意要把角色的大小设置为50。图19代码如图20:图20①当角色Butterfily1接收到“音乐开始”的广播时,首先移到舞台中央②然后切换造型,并且移动到另一个地点,实现蝴蝶飞舞的目的。每次移动是在现有位置的上下左右20的范围内。图21③一直重复执行②④当角色Butterfily1接收到“音乐停止”的广播,就停止脚本最后再复制一个角色Butterfily1由于是两只蝴蝶在飞,所以再复制一个Butterfily1角色,并且设置角色的颜色。右键点击Butterfily1角色,弹出菜单,选择“复制”项(图22)。图22角色设置区就会多出一个一模一样的Butterfily1角色,连代码都一样(图23)。图23由于需要颜色不一样,我们就在这个新复制的角色的代码上添加“设置颜色”的积木(图24红框处)。图24第四步:保存程序现在我们知道通过列表的导入导出功能,我们可以在不同的程序文件间共享一些内容,比如在这个例子里,我们辛辛苦苦写的乐谱,就可以导出成txt文件,供其它程序使用。我虽然不懂音乐,但是也玩过录音软件,很多录音软件是有音轨的。那如果我想用Scratch来实现多音轨呢,比如加点其它乐器,或者二重奏什么的,那要怎么实现呢?我会来说一下。原创不易,请勿抄袭。欢迎大家
转载请注明:
http://www.aideyishus.com/lktp/8814.html