2.1 初始动作模块
要编写脚本模拟小红和小明的体育课活动,就需要学习Scratch中的动作模块。动作模块中主要包括用于显示角色坐标和方向的指令积木块、把角色移动到舞台指定位置处的指令积木块、改变角色坐标值和朝向的指令积木块。
角色在舞台上的位置是用坐标来标识的,角色的移动也是通过改变角色在舞台上的坐标来实现的。通过前面的学习,已经知道角色的坐标本质上是指造型的中心位置。角色在舞台上的坐标可以用绝对坐标和相对坐标来进行设置。
1.绝对坐标
如图2-1所示,坐标原点的坐标值为(0,0),A点的坐标值为(10,20),B点的坐标值为(30,40),C点的坐标值为(60,30),D点的坐标值为(70,60),这些坐标值都是绝对坐标。坐标值的x坐标表示水平方向的坐标,y坐标表示垂直方向的坐标。相对于原点的坐标就是绝对坐标。原点也称为参考点。在舞台上,坐标值的x坐标表示角色水平移动后的位置,y坐标表示角色垂直移动后的位置。在确定图2-1中A、B、C、D四个点的坐标时,应先确定其从原点出发水平移动的距离为多少,垂直移动的距离为多少,然后确定每个点的坐标值。在Scratch中,要移动角色到舞台的某个位置也可以使用绝对坐标来指定,如动作模块中的指令积木块“移到x:××y:××”、“在××秒内滑行到x:××y:××”“将x坐标设定为××”和“将y坐标设定为××”。注:××代表输入的数值。
2.相对坐标
在坐标系中,如果某点的坐标不是相对于坐标原点,而是相对于坐标系中的任一点,这时使用的坐标就是相对坐标。如图2-1所示,如果把A点选择为参考点,则A点的绝对坐标仍然是(10,20),但是B点、C点和D点的坐标分别为B(20,20)、C(50,10)和D(60,40)。为什么会是这样呢?下面来分析一下B点和C点的坐标。这时A点是参考点,在X方向上,B点与A点的距离为20;在y方向上,B点与A点的距离也为20,所以相对于A点而言,B点的相对坐标是(20,20)。在X方向上,距离为50;在y方向上,C点与A点的距离为10,所以相对于A点而言,C点的相对坐标是(50,10)。
在指定一个坐标系中的点的坐标时,有时使用绝对坐标方便,有时使用相对坐标会更好些。在Scratch的动作模块中也有通过相对坐标来移动角色的指令积木块,如“将x坐标增加××”、“将y坐标增加××”和“移动××步”。
图2-1 坐标系和点A、B、C、D在坐标系中的位置
动作模块所用的指令积木块及其相对应的功能见表2-1。
表2-1 动作模块所用的指令积木块及其相对应的功能
㊀ 因软件中文版翻译的原因,软件中将“坐标”误为“座标”,请予以注意。