我之前在“第2小时”和“第3小时”已经教会了女儿如何用Scratch画画和把键盘变钢琴。这节课我想教她用Scratch做一个小游戏:大家熟知的“打地鼠”。
先看看效果。
打地鼠游戏Demo(有配音)这次我依然只能和女儿视频教学!T.T
视频一接通,我就看到我的小公主在那卖萌了。
女儿卖萌我就问她,“乖宝宝,如果你房间里有老鼠,你怎么办啊?”
她撰紧拳头,装作怒气冲冲地说,“打它!”
我又问,“那你想不想先演练演练?”
她露出疑惑的表情。
我连忙解释,“今天教你做‘打地鼠’游戏,先培养你打地鼠的技能吧~”
她立马变花痴样,“好啊!我这就打开Scratch!”
等她准备好了,我跟她说,“先给这个项目起个名字,比如‘打地鼠’。这个游戏分三部分,分别是舞台,锤子,地鼠。我们一部分一部分地做。”
1. 舞台
“我们先说舞台,先把舞台设置成你的卧室。点击‘舞台’,再点‘新建背景’,看到背景库第一排的‘bedroom1’没?”
“看到啦,”她回复我,“我知道,点击它,再确定就可以啦!”
‘舞台’->‘新建背景’->背景库第一排的‘bedroom1’“然后呢?”我问她。
“把小猫咪删掉,把白色背景也删掉。我是不是很机智?”
删掉小猫咪、白色背景我连忙夸她,“非常正确!其实把它们隐藏起来也可以,编程没有标准答案。”
2. 锤子
“接下来我们设计‘锤子’这部分。”
她问我,“锤子怎么弄?”
我调侃她,“你这么聪明,自己想想!”
她想了一会儿,开始跟我撒娇,“想不出来来,你告诉我嘛!”
女儿撒娇我心都快化了,赶紧告诉她,“点击‘新建角色’里的‘从本地文件中上传文件’,选择‘锤子’,再点击‘打开’就把从网上搜到的锤子图片导入到舞台上了!”
“为了‘打地鼠’,要点击鼠标,然后锤子捶下来,这需要旋转锤子。”
“为了营造这种效果,要点击锤子,再点击造型,点击新建造型里的绘制新造型,就是那个画笔,然后把上图的锤子拖到新造型里,再旋转一下就可以啦!”
“把竖着的锤子名字改成‘造型1’,把斜着的锤子名字改成‘造型2’。你看看效果。”
“然后我们写代码吧,为了用鼠标控制锤子,要‘移到鼠标指针’块;为了一直控制,需要‘重复执行’。”
代码:用鼠标控制锤子“先将锤子切换到‘造型1’,如果点击鼠标,就切换到‘造型2’,需要用到‘如果那么’块和‘将造型切换为造型1’块。为了能看到效果,还需要‘等待1秒’块。”
代码:点击鼠标,切换锤子造型“你可以看看效果啦!”
她惊呼,“我可以控制锤子啦!哈哈!”然后把效果图给我看:
鼠标控制锤子,点击鼠标捶下锤子我问她,“你觉不觉得锤子好大,而且锤子捶下去的时间太长?”
她告诉我,“是哒!那我改等待时间为0.2秒,并且‘把角色的大小设定为50’就可以啦!哈哈!”
我夸她,“你已经学会用代码解决问题啦!”
代码:改等待时间、角色大小 锤子变小3. 地鼠
我接着指导她,“接下来,我们解决老鼠这一部分。”
她立马回复,“我知道,为了导入老鼠造型,点击‘新建角色’,再点击‘动物’,找到老鼠‘Mouse1’,再点击确定就可以了。”
‘新建角色’->‘动物’->‘Mouse1’我问她,“那接下来呢?”
她开始自主思考,“我试试。打地鼠游戏里的地鼠有时显示,有时隐藏起来。这需要这样做:”
代码:显示,隐藏地鼠弄好了,她把电脑给我看,效果是这样的:
地鼠显示,隐藏我提醒她,“如果地鼠一直这样,游戏也没啥意思。你可以随机设置地鼠出现的位置,随机设置‘显示’和‘隐藏’的时间,只需要用到‘运算符’里的‘在1到10间随机选一个数’这个块。”
她恍然大悟,“我试试!”
我提醒她,“你可以改里面的数字哦。”
下面是她给我的代码:
代码:地鼠随机出现、显示、隐藏我肯定她,“非常正确!那接下来怎么让锤子打地鼠呢?”
她表示不会。
我就教她,“这里的关键是,如果地鼠碰到锤子,并且点击鼠标捶下锤子,那么地鼠就被打中了。这里要用到‘运算符’里的'与'这个块,这个块表示‘如果左右两个六边形里的条件同时满足,就执行接下来的操作’。”代码如下:
代码:地鼠碰到锤子,并且点击鼠标“如果地鼠‘碰到锤子’且‘下移鼠标’,就可以做一些操作啦!”
“比如‘播放声音’,地鼠被打扁后像素化了,‘广播打中’的消息,然后恢复到原貌等等。”代码如下:
代码:打中地鼠后的操作她非常兴奋,“哈哈!我已经开始打地鼠啦!这是我自己做的第一个游戏!”
初步效果我就打趣她,“是啊,你的第一次给我了!”
她装作横眉冷对,“哼!去死!”
哈哈!
4. 计数
我接着问她,“想不想知道怎么计算你打中多少只地鼠啊?”
她又开始新的疑问,“这个怎么弄啊?”
我教她,“你点击脚本里的‘数据’,‘新建变量’。因为可能不止一个地鼠,所以要选择‘要适用于所有角色’。再起个变量名,比如‘几只老鼠’。”
新建变量“然后点击锤子角色,将‘将几只老鼠设定为0’放在‘将绿旗被点击’下面。同时,如果打中地鼠,地鼠就会发出“打中”消息,这里‘当接收到打中’,就‘将几只老鼠增加1’,并且告诉我们,用‘说打中地鼠!2秒’”
改变变量“你还可以改变要说的内容,可以用‘运算符’里的‘连接’块,你想想怎么连接才能说出‘打中‘变量’只地鼠’?”
她摸索了一会儿,给我看了她的代码:
改变说话内容这是她给我看的效果,非常不错!
打地鼠我接着让她多弄几只地鼠,这是她给我的代码:
复制角色我让她修改第2、3、4只地鼠的活动范围如下:
第2只地鼠的活动范围 第3只地鼠的活动范围 第4只地鼠的活动范围到这里,所有的代码都弄好啦!
哈哈!就等着测试啦!
她很紧张,“会不会出什么错误啊!”
我安慰她,“不用怕,点击绿旗吧!”
她点击了,然后我就听到了她喊,“耶!我成功啦!好好玩!哈哈哈哈!”
这是她给我看的效果!
打地鼠!“哈哈!乖女儿真厉害!”
自己做的菜最好吃,自己做的游戏最好玩!
项目地址: https://scratch.mit.edu/projects/114887416/
我很有成就感!在这1小时里,我教会她做了自己的第一个游戏!
这里面,我们新学习了设置‘随机’数让地鼠随机出现,运用‘变量’计数计算打中了几只地鼠,还学会如何运用‘连接’让锤子说出它的心里话!希望大家教自己的孩子一起做,相信我,他们会很有成就感而喜欢上编程的!
下一次课,我想教女儿如何让角色和我们互动聊天,做个简易版的Siri。
转载请注明:来自微信公众号“君君玩科技”。
网友评论