核桃编程小人踢球教程?
一、剧本介绍
小猫在足球场上踢球,当小猫与足球保持一定距离时,小猫跑向足球,当小猫碰到足球时,将足球踢到舞台的任意位置,小猫继续向足球跑,整个过程不断重复,直到人为控制程序停止。
二、设置舞台背景及角色
根据剧本,我们的程序需要改变舞台背景为足球场,同时需要小猫,足球两个角色。
首先、按照我们之前学习的方法导入足球角色(角色库中的Ball-Soccer),同时设置背景为背景库中的足球场(playing-field),当然小朋友也可以选择自己喜欢的其他图案,都是没有问题的。
其次、我们需要调整好角色的大小和位置。设置好的舞台及角色入下图
三、让小猫持续的动起来
下面我们希望让小猫持续的动起来,这里我们采用“移动10步”这个指令让小猫不停向前跑动,拖动“移动10步”到脚本区,每次双击指令,小猫都会移动10步,不过为了让小猫不断跑而不要停下来,我们需要在移动指令外面加上一个重复指令如下图,这个时候再次双击组合后的指令,会发现小猫一直向前跑,直到舞台的边缘,如果不停止程序,即使把小猫拖回来,小猫还是会继续跑。
现在的移动命令,小猫运动的比较快,我们希望小猫的动作可以更自然一点,每次移动后有一个小的停顿,可以如图通过增加等待指令在移动指令下面,再次运行观看效果。后面我们将通过修改这段指令,让小猫跑动起来的样子更自然,这里暂时先这样。
四、调整小猫跑动的方向
通过上一步,小猫持续运动起来了,但是根据我们的要求,我们是希望小猫跑向足球,而不是一直向前跑,这个时候就需要在跑动时不断调整方向,让小猫面向足球的方向,这里通过“面向……”指令来实现这个功能。
将面向指令放在重复执行里所有指令的最上面,组合指令如下,再次观察指令效果,会发现小猫可以开始向足球移动了。
五、调整小猫的转动方式
完成上面这步之后,会发现有一个问题,小猫在向足球移动时,小猫会随着方向转动非常不美观。这里我们调整小猫的旋转模式为左右旋转,这样看起来会更加自然。双击组合后的代码,不断拖动小猫到不同的位置来查看运行效果
六、实现足球的移动
移动足球到屏幕任意的位置,我们可以通过指令“移到鼠标指针”来实现,还记得吗?那里有一个randomposition选项。
因为这个指令是对足球下达的,所以应该在足球这个角色中添加这条指令。
现在我们在足球角色下双击“移动……”指令,可以手动控制将足球移动到随之的位置了。
先双击小猫角色的指令,然后切换到足球角色,通过不断的双击“移动……”指令,现在小猫开始追着足球不断跑了
七、通过指令自动移动足球
到目前位置,我们的程序需要不断手动的点击小猫的代码,然后再不断的点击足球的代码,在实际的程序运行中是无法这样操作的。
我们希望当小猫向足球跑,碰到足球时,能够自动的让足球变换一个位置。
这里面就需要用到一些新的指令。
首先要能识别出小猫碰到足球。选择小猫角色,在监测指令中,有一个“碰到”指令,这条指令用来监视舞台中的小猫是否碰到了指定元素。注意到这个指令的上下都没有凸起或凹槽,因为这个指令并不是作为顺序执行的语句,而是需要嵌入到其他指令中来使用的。
其次需要使用的新指令是在控制指令中的“如果……那么,否则”指令,怎么样?有没有感觉这个指令有点像语文中学到的“如果……那么……”关联词呢?没错,这里表达的就是同样的逻辑。
将以上两条新指令拖动到小猫角色的脚本区,组合起来。
在监视指令的下拉列表中选择足球元素的名字,这样组合后的指令翻译成我们的话,就是当发现小猫碰到足球的时候,我们要怎么样?否则,当小猫没有碰到足球的时候,我们要怎么样?
根据我们的设想,我们希望当小猫没有碰到足球的时候一直跑向足球,而当碰到足球的时候,通知足球移动到一个新的位置。
重新将指令组合成下面的样子
现在这段程序翻译成我们说的话,就是重复的让小猫跑起来,如果小猫碰到足球,这里我们不知道该怎么办先空着,如果小猫没有碰到足球,那么小猫就不停的跑。
下面我们需要增加一些代码,让小猫碰到足球时,足球能够自动移动,就好像小猫碰到足球时告诉足球一下,“足球,该你移动了”。
这里我们需要用到一个发送消息的指令,在事件指令中,有一个“广播消息”指令,将他拖动到脚本区。
我们希望给消息起一个新的名字,叫“小猫踢球”,点击下拉列表中的“新消息……。
在对话框中写小猫踢球然后确定。
下面我们将这条消息与之前的代码组合起来。
现在,小猫已经在碰到球时,会向整个舞台广播名叫“小猫踢球”的消息。
回到足球角色,在足球角色的移动代码前添加“当接收到……”指令,组合后的指令如下,这个指令也在事件指令中可以找到。这样,当足球角色听到小猫广播的消息,就会自动执行移动的命令了。
现在回到小猫角色,双击组合后的指令,看看发生了什么?
没错,小猫踢球的连续动作已经实现了。
最后就是在小猫的所有指令组合前加上控制程序开始运行的命令
八、继续完善
我们的程序虽然已经初步完成了,但是会发现小猫移动的样子很呆板,如果小猫跑动的时候,两条腿能够像真正跑步那样动起来,会更加好看一些,下面我们就来实现这个功能。
选择小猫角色,在指令区有一个造型标签,
点击造型标签,会发现有造型1,造型2两个样子,上下来回点一点两个造型,会发现舞台中的小猫角色腿不停的动起来了,实际的动画,就是通过连续播放这种不同造型的角色,来给人一种角色动起来的感觉。
下面我们就希望,在小猫运动的过程中,能够让程序自动的来回切换这两种造型。这个功能是通过“外观”指令中的下面两条指令来实现的。
“将造型切换为……”:指令可以自动控制将角色切换到指定的造型,下拉列表可以选择。
下一个造型:通过循环的方式,从第一个造型开始依次切换,当切换到最后一个造型时再从第一个开始,由于这里只有两个造型,因此切换顺序是1、2、1、2……
在小猫角色中组合如下指令,再起运行,小猫是不是已经像跑起来的样子了?
我们也可以采用第二个切换造型的指令,让代码看上去更加简洁。
现在小猫踢球的程序已经完成了。
九、课后思考题
请小朋友试着再新建一个小猴子的角色,让小猴子和小猫一起来踢球吧。
报名编程猫有用吗?有了解的在么?
试课之后马上报名了。外孙女从学习了编程课后,很是感兴趣,通过自己的编程,可以让小人,小动物活动起来,特别有成就感,有不会的就跟老师沟通,宝宝一直坚持完成作业。第一次接触编程,总是问路飞老师各种问题,都是耐心的解答,宝宝完成作业,都及时给评语,给孩子表扬,鼓励,还会和孩子一对一的聊天互动