美文网首页少儿科技教育儿童编程程序员
我教“孩子”在10小时内精通Scratch-第2小时:画画

我教“孩子”在10小时内精通Scratch-第2小时:画画

作者: 君君玩科技 | 来源:发表于2016-06-12 13:52 被阅读3319次


    “嘟”的一声,视频接通了。视频那头的她已经开始卖萌了,睁大了眼睛吐着舌头,好像在等我喂吃的。。。

    我就只好翻白眼,“萌货,今天上班累不累啊?” (总觉得“女儿”在上班,老爸却在读博士怪怪的。。。)

    她开始诉苦,“累,都忙疯了。我想玩小猫放松放松,粑粑,我们今天学什么啊?”

    我黑线=.=,“不要叫我粑粑!今天我们先熟悉下Scratch的各个功能模块,也就是怎么控制小猫,然后我教你怎么让小猫画画好吗?”

    “好呀好呀,我已经准备好了!”她很兴奋地看着电脑。

    我让她先打开网页"https://scratch.mit.edu/",这时她应该看到(部分):

    我告诉她,“萌货,你先创建一个新项目,点击Create按钮。” 这时候她看到的应该是这样的画面。

    还没等我开口,她惊呼,“刚才还是英文画面,它居然自动跳到中文了耶?!”

    这样的细节也能注意到,不愧是我女儿!

    我先给她介绍脚本的各个模块,“你看脚本那个地方,‘动作’、‘外观’、‘声音’按钮,顾名思义,那里面的命令就是控制小猫怎么动,外表怎样,发出什么声音;‘画笔’功能就是控制在图上画画的笔;其他功能暂时不学习,等以后再介绍。”

    我接着告诉她,“你要把每个项目都看成你的孩子。所以,你可以先给它起个名字,比如小猫,不过如果你的项目多了,你就不知道每个项目是做什么的了,所以。。。”

    还没等我说完,她都学会抢答了,“我知道,起个能表达内容精髓的名字。”

    我问她,“比如?”

    “小猫咪学画画!” 她说完一脸欣喜。

    我打趣她,“你叫小猫咪?哈哈。好,那我们先让小猫咪画一条直线。”

    她也做好了准备。

    我继续跟她介绍,“先点击小猫,让它待命。再点击‘事件’按钮,把‘当绿旗被点击’拖到右侧空白区域,这相当于告诉小猫,如果你点击‘绿旗’,它就要开始听你的指令了。放心吧,它很听话的。”

    “这个我明白,下一步是不是点那个‘画笔’?” 她已经开始主动思考了。

    “你好聪聪(明)!对的,你点开看看有什么。”我趁机夸她。这时她看到这样的画面:

    “你平时画画的第一步是做什么?”我启发她。

    “我知道啦!我要把‘落笔’块拖过去,画完了我还要‘抬笔’,所以我还要把‘抬笔’块放在‘落笔’块下面。” 这时,她看到的是这样的画面:

    我希望能让她每写完一行代码就试试效果,这样可以形成感觉,“你点击‘绿旗’看看会发生什么?” 就是下图红框里的这个按钮,如果鼠标接触它,它会变成鲜亮的绿色。

    她点了一下,告诉我,“神马都没有发生啊。”

    我赶紧告诉她原因,“这是因为你只是落笔抬笔,你并没有移动笔。”

    她豁然开朗,“对哦,那我是不是要去‘动作’按钮里找移动的命令?”

    我松了一口气,看来她已经明白了:

    有一些效果需要不同的功能模块之间的命令配合起来才能完成。这是学编程的一个小台阶。对于小孩子,一定要让他们明白和体会组合的魅力,让他们发挥想象力,去尝试组合不同功能的命令,实现丰富多彩的编程效果。

    我鼓励她,“是的,你去把‘动作’按钮里的‘移动10步’命令拖到‘落笔’和‘抬笔’之间,再点击‘绿旗’,看看会发生什么?”

    她这时会看到这样的结果:

    她告诉我,“小猫咪好像移动了一点,但是并没有出现画笔的痕迹啊。”

    我告诉她,“那你把‘移动10步’改成‘移动100步’试试?”

    她兴奋地叫着,“啊哈,小猫咪终于动起来了,真懒,我叫它走10步就只走10步,多走点还可以减减肥嘛。”她看到的结果是这样的:

    我哈哈地笑,“小猫咪好无辜,太听话也被批,哈哈!”

    我接着告诉她原因,“这是因为只移动10步,小猫咪的身体把它画的线挡住了,如果你只想画画,希望小猫咪暂时先消失一下,你可以点击‘外观’按钮,把里面的‘隐藏’拖到‘落笔’之前。”

    她照做了:

    这时代码应该是这样的:

    我接着告诉她,“你点击‘绿旗’看看,小猫咪是不是消失啦?”

    她如果点击‘绿旗’,看到的是这样的画面:

    她好奇地问我,“小猫咪消失啦,它去哪里啦?”

    我调侃她,“它是被你批评,伤心地走啦!哈哈!”  

    紧接着安慰她,“别担心,它只是被隐藏起来了,如果这时你把‘显示’块拖到‘抬笔’后面,它会再次出现。不过我们先让它一下消失一下,专心画画吧。”

    我问她,“我觉得你画的太细了,想不想把画笔变粗点?”

    “想啊想啊,怎么弄?”

    我告诉她,“别急,我们先把舞台擦干净。你点击‘画笔’按钮,然后把‘清空’拖到‘隐藏’前面,这个时候你点击‘绿旗’的话,程序会先清空舞台,再隐藏小猫咪,然后落笔画长度为100的直线。不信你试试看。”

    她这时候的操作:

    看到的代码应该是这样的

    点击‘绿旗’之后,画面应该是这样的:

    结果是(右侧边缘有一条蓝线):

    她开始问我,“我怎么觉得小猫咪一直在偷偷滴往右走。”

    我告诉她,“对的,如果你想每次开始的时候让小猫咪回到中心的地方,你需要告诉小猫咪,你先到中心地方等着。怎么告诉它呢?”

    我顿了顿,让她思考一下,接着说,“在‘动作’按钮里,有一个‘移到x冒号y冒号’的块,把这个块拖到代码区域里的‘清空’块前后都可以。”

    她告诉我,“我把这个块拖到‘清空’下面了,接下来呢?” 那代码应该是这样的:

    “然后点击x和y的右侧的数,把x和y的数值都改成0。”代码变为:

    “别点‘绿旗’,你先把‘隐藏’和下面的所有命令都消除掉。很简单,你只需要点击‘隐藏’块不放,然后拖到脚本的区域就可以啦。” 此时代码是这样的:

    我告诉她,“你点击‘绿旗’的话,小猫咪还是不出来,你信不信?” 如果她点击‘绿旗’,看到的舞台应该是白白的一片,就不给图了。

    她很好奇地试了,“真的耶,那我把‘显示’块放在下面再试试。。。恩,这样就可以了,好简单,小猫咪真听话。” 此时舞台和创建新项目的时候一样,也不给图了。

    我听了后就哈哈地笑,女儿真可爱,问她,“现在你已经可以控制小猫咪出现或者消失了。那么我们尝试把画笔变粗点,你把将‘画笔的大小设定为1’块拖到‘显示’块下面,再把‘1’改成‘5’。”

    她做完后告诉我好了,我接着教她,“你把‘落笔’拖到‘将画笔的大小设定为5’下面,再把‘抬笔’放在‘落笔’下面。接着点击‘动作’按钮,把‘移动10步’拖到‘落笔’下面,并将数字‘10’改成‘100’。”此时代码是这样的:

    她告诉我弄好了,我让她点击‘绿旗’看看效果。效果如下图。

    她很开心O(∩_∩)O~,“画笔真的变粗了啊!”

    我这时候问她,“你想不想给画笔换一个颜色?”

    她还在开心中^_^,“哈哈,我看到这个命令了,不用你教我,这个我会!这有三个命令是改画笔颜色的。”她说的是

    我开始尝试增加难度,“那你画一个正方形看看?”

    她问我,“没问题!可是该怎么画竖线呢?”

    我把皮球提给她,“你自己觉得呢?”

    她很快给我答案,“可以用‘动作’里的‘将y坐标增加10’这个块。”

    于是她开始尝试,边改代码边自言自语,“正方形的四条边相等,所以应该把‘10’改成‘100’。”

    我夸她,“真聪聪!” 她的代码应该是这样的:

    点击‘绿旗’后,应该得到这样的效果:

    这时候她又疑惑了,“怎么让小猫咪往左走呢?”

    我反问她,“数学里的负数是不是正数的反方向啊?” (如果小孩子没有学过负数,下面这个可以忽略,往下看,跳到“没有负数的解决方案”。)

    她顿悟,“哦,我明白啦!只需要把‘移动100步’改成‘移动-100步’就可以了。”代码如下:

    我很高兴O(∩_∩)O,“也可以用‘将x坐标增加10’拖到‘抬笔’上面,然后把‘10’改成‘100’也可以做到。”代码如下:

    点击‘绿旗’,结果如下:

    剩下的不用我教她,她已经都会了,“然后我把‘将y坐标增加10’这个块放在‘抬笔’上面,然后把‘10’改成‘-100’就可以了。”代码如下:

    点击‘绿旗’,结果如下:

    看到正方形出现的那一刻,我的“女儿”兴奋地敲桌子,她的手机倒下了,然后我就只能看到她家的天花板了。。。。。。

    我提出抗议,“我摔倒了,你要赔钱,快扶我起来!”

    于是她又把手机拿起,靠在一个地方,这样视频的时候我才能看到她。

    没有负数的解决方案

    我接着告诉她,“其实还可以有别的方法,不用负数也可以画正方形,只要在画完横之后把小猫咪的朝向改变就可以。”

    她问我,“那怎么改变小猫咪的朝向呢?”

    我故作神秘,问她,“你觉得呢?”

    她看着电脑屏幕思考了一会儿,就笑了,“很简单嘛, 我只要用‘面向90方向’这个块就可以了。” 然后她给看了看她修改后的代码和点击‘绿旗’后的效果。

    我想不到她悟性还不错,以前只知道她卖萌总是给我带来惊喜和井猜。所以,

    不要小看任何一个人在编程方面的潜力!

    当然,我没有贬低我“女儿”的意思。她也是很聪聪的人,继承了‘爹’的智商(✿~‿~)。

    我希望她不要骄傲,就告诉她,“还有一个方法,可以用‘向右旋转15度’这个块,你把‘15’度改成‘90’度试试。”她给我的代码和效果是这样的:

    我接着告诉她,“其实这个还有别的方案,以后我们会学到‘控制’按钮,里面会有循环功能,这是编程里很重要的一个功能。”

    她的好奇心也来了,“那怎么用循环啊?”

    我得意了,心想你不会了吧O(∩_∩)O! hiahiahia!

    然后我告诉她,“你点击‘控制’按钮,选择‘重复执行10次’这个块,拖到‘落笔’下面,它会自动把下面的所有块都包进去,你把抬笔拖到‘重复执行10次’下面,把‘10’改成‘4’。然后只留一组‘移动100步’和‘向右旋转90度’就可以了。”

    她很聪明,给我的代码是这样的(效果和上一张图一样的,略掉):

    教她做的其他项目,过程与上面的类似,这里就只给出代码和效果图:


    如何画不断变颜色的正方形

    变颜色的关键命令是:

    代码:

    效果:

    如何画彩虹状的圆

    代码:

    效果:

    如何画彩色六角形并转一圈(360度)

    代码:

    效果:

    小猫咪表示抗议,“我都转晕啦!”

    我只好安慰它,“今天就辛苦你喽!我去给你做红烧🐟去。”

    小猫咪,“不吃了,我最近减肥。”

    我=.=

    后记

    等她学会这些画图技能的时候,她已经开心到爆了,她告诉我,没想到编程这么容易还这么有趣!

    我问她,“下次课想学什么啊?”

    她说,“我记得以前用basic语言学怎么编曲,scratch可以做到吗?”

    我哈哈大笑,“完全可以的!你看脚本里的那个‘声音’按钮,它可是很强大的哦!”

    我本想说,“下次我教你...” 突然想起“人之患在好为人师”这句话,就改口说,“我下次就和你一起学习如何用声音编曲和做乐器吧,相信我,scratch可以让你的键盘变成钢琴或者吉他。这都是你喜欢玩的乐器啊!”

    她非常满意今天的成果,保存了所有项目,就关上电脑。


    第2小时就这样结束了,我的“孩子”,也就是我的女友学会了如何用scratch画画。下次课,我会让她学会如何用scratch编曲,不过编曲的效果不好通过图像表达出来,所以希望大家能照着教程自己写程序看结果,这样才能达到学习的目的。


    转载请注明:来自微信公众号“君君玩科技”。

    相关文章

      网友评论

      • Mi米喵:哈哈,其实中国也有个类似的平台——编程猫,比你说的这个平台的画风可爱一点~~~今天我在上面玩了一天:smile:
        君君玩科技:@野生多肉 多谢提醒,估计编程猫的教程比codemonkey要更受欢迎。因为编程猫是中文的,方便中国孩子学习,codemonkey毕竟是英文的,不方便学习。

      本文标题:我教“孩子”在10小时内精通Scratch-第2小时:画画

      本文链接:https://www.haomeiwen.com/subject/xxyedttx.html