



通过1.1节的学习,我们已经知道如何创建Scratch项目。如何给角色编写脚本,在第一个Scratch项目中,我们看到只是简单地拖动了几个积木,就能让角色小猫永不停歇地在舞台上运动起来。
接下来,让我们一起来完成本站点的任务:用绝对运动和相对运动指令控制角色在舞台区从出发点跑到终点!
先想想我们日常生活中是怎么描述方向和位置的,例如,我们经常听到导航软件提示:“请沿当前道路继续向前500米”“在道路的尽头向右拐弯”,等等,这些提示语当中就包含了方向和距离。导航软件的工作原理,就是在一个巨大的球面坐标系中,以坐标的方式标识出当前所在的位置和要去往的目的地,然后结合地图数据寻找一条最优路径,从而实现导航。
坐标系统根据其应用场景的不同,有平面坐标系、空间坐标系、球面坐标系等等,本书只讨论平面坐标系。
在Scratch编程中,我们要让角色在舞台上运动,也同样需要知道角色当前的位置和朝向,并且告诉角色要去往的目的地的位置。这样才能准确控制角色的行为。
为了描述这个方向、位置、距离,舞台实际遵循一个规则,就是以正中心的位置为原点,其他所有位置都依据其与原点的距离而存在一个X坐标和Y坐标,这就是平面坐标系,如图1-3所示。
从平面坐标系的图可以看出:舞台实际上是一个长度为480、宽度360的长方形。这里的长度单位不是米、厘米之类的长度计量单位,而是像素,它代表的是屏幕上一个点的大小。正中心的点位置坐标为(0,0)即它的X坐标和Y坐标均为0,最右边的中心位置坐标为(240,0),最上边的中心位置坐标为(0,180)。
认识了坐标系,就容易理解【移到X:Y:】这样的指令了。因为在舞台上,只要给定了X和Y坐标的具体值,准确位置也就确定了。新建一个角色,然后从指令区拖动表1-2中的指令方块到脚本区并双击指令方块,看看会发生什么。
 
    图1-3 Scratch舞台坐标系
 
    视频讲解
表1-2 运动类指令及其执行结果
