第二讲 小猫与小猴子踢球
一、指令的简单操作
1**、指令的拖动**
在第一讲中,我们已经简单的使用了一次指令,这里再复习一下,当需要使用指令时,只需要在指令区内选择指令,将它拖动到脚本区就可以了。2**、指令的组合**
当需要将几个指令连接起来完成一连串命令时,需要用到指令组合。将多个指令拖动到脚本区,当指令可以相互组合时,指令相互靠近周围会显示白色的连接提示。3**、指令的拆除**
当需要修改已经编写好的指令时,需要将一串已经组合好的指令拆开,这个时候只需要在脚本区用鼠标选中需要拆除的指令,拖动鼠标将它和其他指令移开就可以了,如果拆除的指令是一串很长指令中间的一部分的话,拖动会将选中指令下面所有的指令全部拆除下来。4**、指令的删除**
当需要删除不再使用的指令时,可以右键点击指令选择删除,也可以将指令向左拖离脚本区。二、关于坐标系的预备知识
1**、什么是[坐标](https://www.kidscoding8.com/tag/%e5%9d%90%e6%a0%87)系**
坐标系是一个数学工具,这里只介绍最简单的平面直角坐标系。 平面直角坐标系由相互垂直的两条线组成,分别称为X轴和Y轴,X轴越向右越大,越向左越小,而Y轴越向上越大。2**、[Scratch](https://www.kidscoding8.com/tag/scratch)舞台坐标系**
Scratch舞台坐标系的大小为(-240,-180)到(240,180),面积共480*360大小。
三、剧本介绍
下面我们将实现一个小猫与小猴子在足球场踢球的简单程序。 程序中需要三个角色,小猫,小猴子和足球。 程序开始时小猫先传球给小猴子,然后小猴子传球给小猫,这样重复三次后,小猫一下把球踢出了足球场。 小猫传球给小猴子时说“小猴接球”。 小猴传球给小猫时说“小猫接球”。 最后一次小猫把球踢出场外的时候说“阿欧,踢飞了”。四、设置舞台背景
1**、添加新背景**
在这节课中,我们将改变舞台的背景。 默认的舞台背景是白色的,但是很多时候我们希望角色可以在一个漂亮的背景下完成动作。 在角色列表区的最左边,有四种新建背景的方式,第一个按钮可以从系统自带的图片中选择背景。第二个是用系统自带的绘图工具画一个背景。第三个是使用自己的图片作为背景。第四个是调用摄像头拍摄一个照片作为背景。 这里我们选择第一个“从背景库中选择背景”。2**、编辑背景**
** **如果对背景还希望进一步进行修改,在确定背景被选择的情况下,会发现指令区的三个标签分别变为,脚本、背景、声音,点击第二个背景,脚本区变为背景编辑页面,这里可以使用系统提供的工具对背景进行简单编辑。
背景标签下面,我们可以看到现在有两个小图,第一个“背景1”是最早系统默认的背景,第二个“playing-field”是我们刚刚导入的背景图片。 编辑工具在背景编辑的最左边。 这讲里我们不对背景做任何修改。3**、关于背景的脚本**
在背景被选中的情况下,点击指令区的脚本标签,这里列出了所有背景可以添加的指令,对比角色的指令会发现,背景可以操作的指令比较少。五、添加新的角色
1**、添加新的角色**
由于这次的小程序需要用到三个角色,小猫,小猴和足球,小猫已经在舞台中,现在需要把小猴子和足球导入舞台。2**、调整角色大小**
因为三个角色比较大,我们希望把三个角色调整小一点,这个时候需要使用到工具列中的缩放功能。3**、调整角色在舞台中的位置**
直接拖动角色到如图所示的位置上
六、编写足球的程序指令
1**、移动足球到小猫脚下**
在完成上一步后,此时足球的位置坐标已经被自动记录下来,选择“足球”角色,在指令区的动作指令下,会发现“移到……”指令后面的X,Y的信息正好就是目前足球的位置。2**、小猫踢球给小猴子**
现在希望实现足球从小猫移动到小猴子,所以我们用到“1秒内滑行到……”这条指令。 这条指令可以控制足球在一秒钟滑动到指定的坐标位置。 我们发现这条指令中的坐标信息也是现在足球所在的坐标位置。 将足球拖动到小猴脚下,拖动“1秒内滑行到……”指令到脚本区,将指令与上一条连接在一起。3**、小猴子踢球给小猫**
再次拖动“1秒内滑行到……”指令到脚本区与之前的指令连接,将坐标信息修改为小猫脚下的坐标。4**、小猫与小猴子相互踢球三次**
思考:我们发现这样复制组合指令,指令会变得非常长,不容易阅读指令的意思,而且操作非常复杂。如果需要重复100次,那么工作量会非常大。
改进方法:这里使用到一个新的“控制类”指令,“重复执行……次”,这个指令块可以将块内包含的指令重复执行指定的次数。如图所示的样子,因为我们需要足球在小猫和小猴子之间来回运动3次,所以将重复执行的次数改为3。这样改后的代码会变得更加简洁,而且以后我们希望修改足球来回运动的次数时,只需要修改重复执行后面的数字就可以了。
5**、足球被小猫踢出舞台。**
在代码的最后再次添加“在1秒内滑行到……”指令,将坐标改为“300,200”,因为舞台的坐标最大表示范围是(-240,-180)到(240,180),所以(300,200)已经在舞台外面了。6**、给足球的代码添加开始控制指令**
此时足球的代码已经基本写完,但程序的启动标志是舞台的小旗子被点击,因此还需要给代码添加一个启动指令。添加事件指令当小旗被点击在整段代码最上面。七、编写小猫的指令
1**、分析小猫的动作**
小猫在这个程序中并不需要移动位置,但是要在踢球的时候说话,因此小猫的指令主要通过外观指令来完成。 小猫在程序启动的第0秒,第2秒,第4秒和第6秒都需要踢球说话,而小猴子踢球的时候小猫不需要说话,其中第0、2、4秒说话内容相同,为“小猴接球”,第6秒为“阿欧,踢飞了”。2**、小猫指令**
最直接的小猫指令实现方式如下思考:为什么是说小猴接球1秒然后等待1秒,而不是直接说小猴接球2秒?
七、编写小猴的指令
1**、分析小猴的动作**
小猴也是不需要移动位置,在第1、3、5秒小猴踢球需要说“小猫接球”。小猫踢球的时候小猴同样不说话。2**、小猴指令**
直接使用循环结构,写出的小猴的代码指令如下。八、课后小练习
这个小程序运行后,发现最后小猫把球踢出足球场后,足球的一小角还是可以在舞台上看到,能否让足球从舞台消失呢?请自己动手实现一下吧。‘ 参考答案: 修改足球角色的代码如下