Scratch编程入门与算法进阶
上QQ阅读APP看书,第一时间看更新

第2章 超人飞行

第1章中介绍了角色的移动和转向控制,其实通过这个功能就能够实现超人飞行的动画效果。角色方面,我们选用飞行的Cat Flying,另外还要添加一个名为“Buildings”的角色。

在这个例子中,我们主要控制的是角色“Buildings”,通过移动它实现小猫飞行的效果。将“Buildings”选中,这次我们先添加一个“当被点击”程序块。

接着将“控制”中的“重复执行”程序块。拖曳到第一个程序块下方,重复执行的功能是保证其中的程序块会不断地循环运行(当我们单击舞台区的绿旗按钮运行程序的时候)。

为了看到小猫向右飞行,我们需要让建筑物从右往左移动,因此程序的功能首先是将建筑物放在屏幕的最右侧,然后移动到屏幕的最左侧。

将“运动”中的“移到x:0 y:0”程序块拖曳到“重复执行”程序块当中。重复执行的程序块与之前用到的程序块不同,之前的都是下方连接其他程序块,而“重复执行”程序块的用法是要将其他程序块放在其中。这样的程序块通常是结构程序块,用来进行判断或重复这样的操作,之后我们会经常用到。

“移到x:0 y:0”程序块中有两个需要填写的参数,就是希望移动到的位置的xy坐标。这里要说一下整个舞台区的坐标系。整个舞台区的中点坐标是(0,0);水平方向为x方向,向左边是减小,向右是增大;垂直方向为y方向,向上是增大,向下是减小。

第一步是要将建筑物放置在最右侧,因为我们希望建筑物看上去是从屏幕外移动进来的,所以这里设置的x坐标是340,y坐标就是建筑物当前的坐标-27。

接着将程序块“在1秒内滑行到x:0 y:0”也放在“重复执行”之内。我们把其中的坐标值设定为最左侧,所以x坐标就变为-340,y坐标保持不变。时间可以调整,时间值越大,小猫的飞行速度越慢。这里我设定的是1.5秒。

这样我们的程序就完成了,运行一下看看效果吧。