2.2 角色的平移
有了坐标系统这个武器,我们就可以精确地描述角色在平面上的运动啦。比如,小猫从原点向左移动300步,再向下移动200步,就到了图中点C的位置,其坐标为(-300,-200)。如果在这个位置再向右移动600步,那就到达了D点,坐标为(300,-200)。
我们发现,角色向右运动多少步,它所到达的新位置的y坐标不变,而x坐标就是在原x坐标的基础上加上运动的步数所得的数。比如上面的例子中,从C点(-300, -200)向右运动600步,新位置的坐标就是:(-300+600, -200)=(300, -200)。对应地,向左运动多少步,新位置的x坐标就要在原来x坐标的基础上减去多少步。类似地,向上或向下运动则保持x坐标不变,y坐标相应地加上或减去运动的步数即可。
小练习
(1)小猫开始位于坐标为(-80, 120)的位置,经过下面的移动后,到达的新位置坐标是多少?
①向左移动50步;
②向上移动40步;
③向右移动70步。
解:
第一种方法,我们可以逐步算出每一次移动后,小猫到达的位置。
向左移动50步后,小猫的坐标为(-80-50, 120)=(-130, 120);
向上移动40步后,小猫的坐标为(-130, 120+40)=(-130, 160);
向右移动70步后,小猫的坐标为(-130+70, 160)=(-60, 160)。
第二种方法,我们直接考虑小猫经过水平和垂直方向的移动后最终到达的位置。小猫最终位置的x坐标为-80-50+70=-60,y坐标为120+40=160,因此,最后新位置的坐标为(-60, 160)。
(2)小猫开始位于坐标为(180,-30)的位置,现在要移动到坐标为(-200,50)的位置,请问小猫可以怎么移动才能到达上述目标位置?
解:
-200-180=-380,50-(-30)=80
这里,负数-380表示小猫要向左移动,而正数80表示小猫要向上移动。所以,小猫从原来的位置向左移动380步,向上移动80步,就可以到达新的位置。
好了,讲了这么多坐标和平移的知识,我们赶紧来编写我们的第一个程序,让小猫动起来吧。
我们让小猫从原点开始向右移动,每次向右走20步,然后停顿1秒,一共走4次后停下。
我们从运动类积木中找到和这两个积木,然后在控制类积木中找到积木,将它们拖曳到代码区,将这一积木的10改成20,按下面上图中的方式搭好积木。
如果我们想观察一下执行上面的代码后小猫所处位置的x坐标,只要在最后增加下面这个外观类积木就行。
单击小绿旗后,小猫从原点(0,0)向右移动了80步,并说出当前的x坐标为80。