友情提示:380元/半年,儿童学编程,就上码丁实验室。
目标:
理解坐标和角色的移动。通过键盘或鼠标控制角色的移动,按左箭头就往左走,按右箭头往右走,按上箭头往上走,按下箭头往下走。
适用对象:本练习适合一年级初学者使用。在老师指导下,学员基本能够独立完成。对坐标的判断,难度较大一些,需要理解坐标的大小比较。
1、什么是角度?
角度是用来说明两条直线所形成的角的大小的一个数学名词。形成的角越大,角度的数值越大。
角度经常被用来度量旋转,一条线段沿着端点旋转,旋转走过的量的大小用角度来度量。
2、圆周的大小
直线沿着一个端点旋转一周的角度大小被人为定义为360度。
Scratch对默认方向的角度定义为,0度代表向上,90度代表向右,180度代表向下,而负的角度代表总体朝向左边的,其中用-90度代替270度表示正向左。
小知识:为什么一周是360度?
采用360这数字,因为它容易被整除。360除了1和自己,还有22个真因数,包括了7以外从2到10的所有数字,所以很多特殊的角的角度都是可以被360整除的整数。
此外360非常接近一年的天数,数学和天文学联系非常紧密,360这个数字非常适合天文学研究使用。
二、让小猫向前移动的新指令
1、
在之前的课程中,我们使用“在1秒内滑行到……”指令使角色运动起来,这个指令的优点是角色滑动起来的效果比较均匀,但缺点是需要填写出确定的位置信息。有的时候我们只是希望角色向前移动一定的距离,但是移动后的位置坐标是多少并不知道,这个时候就需要使用到另一个控制移动的指令,“移动……步”。
2、
拖动“移动……步”指令到脚本区后,双击一下这个指令,会发现小猫向前移动了一点,默认情况下是移动10步,当然我们可以根据自己的需要将数字改成任意大小。
3、10步有多大?
我们已经知道,在Scratch中,舞台的坐标大小是从(-240,-180)到(240,180)的,总共有480*360个像素,这里角色移动的距离,他的单位与舞台大小的单位是一致的。比如初始情况下小猫角色的位置是在(0,0)点,小猫向前移动10步后,它的坐标位置将变成(10,0)。
4、角色向哪个方向移动?
角色的移动方向与角色的方向角度有关,这点下面会详细讲解。
三、旋转指令
在Scratch的动作指令中,与旋转角色相关的指令有以下几个
大家将这些指令全部拖到脚本区后,可以先分别双击一下看看效果,下面分别对指令进行说明。
首先说明,所有的旋转指令在效果呈现时,都与“将旋转模式设定为……”这条指令有关,这条指令决定了旋转的效果如何在舞台上呈现出来,但是如何呈现效果,也不影响角色实际旋转的情况。
为了方便查看角色的信息,我们点击角色信息上的蓝色“i”按钮,打开角色信息面板。可以看到红色标示的方向,显示当前角色的方向信息。
“向右旋转……度”:这里我们不改变默认数值,先双击“向右旋转15度”,会发现小猫按顺时针发生了一点转动,而角色面板上显示方向为105度。因为默认情况下小猫的角度是向右的,既90度,再向右旋转15度相当于90+15=105度。
现在连续双击向右旋转按钮,会发现小猫不断旋转,当旋转到180度时小猫面向下面。再次双击向右旋转按钮,小猫继续旋转,但是面板上的方向显示目前的方向为-165度,这里的负数表示小猫朝向已经向左,scratch中超过180度后将用负数继续表示角度,他的角度变动范围是从-180到180度的,而不是用360度这个概念,这点需要注意。
“向左旋转……度”:向左旋转的意思与向右旋转相似,只是方向相反。
“面向……方向”:这条指令可以直接将角色的角度设定为需要的值,点击数字边上的向下箭头,默认情况下有上下左右四个方向可以选择。当然也可以在里面手工输入任意数字,来实现快速调整方向的目的。
“面向……”:这个指令与“面向……方向”类似,能够直接调整角色面向一个已经存在的对象,这里不能手动写入,只能通过下拉列表来选择。因为目前舞台上只有小猫一个角色,所以下拉列表只有鼠标位置这个选项,双击后会发现小猫面向鼠标发生了转动。
为了更好的观察这个命令的效果,下面可以单独做两个实验。
第一个是拖动控制指令中的“重复执行”放到脚本区,然后将“面向……”指令放入重复执行指令中,组合成下面的样子,双击组合后的指令,来回晃动鼠标,会发现小猫跟着旋转。
第二个小实验是在舞台中创建一个新的角色,比如我们把足球新建出来放在舞台中的任意位置。这个时候再次点击“面向……”指令的下拉列表时,发现在鼠标指针下面,多了一个选项
可以发现这个选项的名字与足球角色的名字相同,选择这个选项后,再次双击“面向”指令,现在小猫将面向足球了。大家可以尝试把足球变换几个位置后双击“面向……”指令来观察小猫的转动情况。
练习题1:用键盘控制角色的移动,实现:
按上箭头↑,角色往上移动;
按下箭头↓,角色往下移动;
按左箭头←,角色往左移动;
按右箭头→,角色往右移动。
如图1:选择任意背景图,角色选择飞机
难点在于如何保证飞机往前飞行时始终保持飞机头部对着前方,这需要使用方向与选择两个模块的组合。
思考划线:怎么样设置角色朝着左上,右上,左下,右下移动?