今天的scratch作品是飞翔的小鸟
很多人应该都玩过一个像素风的小鸟上下飞行躲避水管的游戏。
今天我们的任务就是让一个小鸟飞越重重阻隔躲避障碍物。
首先我们的准备工作需要从角色库里找到一个小鸟的角色,当然其他动物也可以,这个看自己的喜好,我们的障碍物也很简单,就是自己绘制一个长方形就可以了。
角色的大小要调整好,确保上下障碍物之间的距离小鸟能够飞过就行,背景可以加也可不加。
障碍物数量可以根据自己的情况进行调整,肯定是数量越多难度越大。
我们先来写障碍物的程序,首先程序一开始要把障碍物移动到初始位置,坐标自己调整即可。
然后障碍物水平向左移动,是在x轴上移动的,所以把x坐标的值进行调整,因为我们是向左移动的,所以应该是减少x的坐标,也就是“将坐标增加-1”,具体这个值是多少,自己进行修改,减少的越多,障碍物移动的就越快。
障碍物移动到最左边以后,我们需要让他回到右侧重新出发,所以加上一个判断,如果x的坐标小于-240了,那就将x坐标设为240。
根据x轴的坐标范围,-240就是屏幕最左边,240就是最右边,这个坐标具体值也可以根据自己角色的大小和位置进行调整。
一个障碍物的程序写好了,可以直接复制给其他障碍物,要修改的地方就是障碍物初始的位置,也就是对应的x、y坐标。
当然也可以把x坐标减少的值进行调整,可以有的快有的慢。
接下来就是小鸟的程序。
小鸟点击小绿旗,也是来到初始位置,坐标自己调整 。
小鸟要不断的下落,下落是竖直着运动的,所以要修改y的值,不断将y坐标减少,就是不断下落的效果。减少的越多,下落的也就越快。
小鸟不能只往下落,还需要上升,如果按下了空格键,那么就要让y坐标增加,要注意,往上升的值要大于往下落的, 比如说往下落不断让y坐标-5,那往上升就可以让y坐标+7。
接下来可以玩了,但还是没有胜负的判定,所以我们增加一个判断,如果碰到了我们的障碍物,那么就停止全部脚本,代表游戏结束了。
要注意,因为我们有多个障碍物,随便碰到哪一个都要结束游戏,所以我们用“或”语句连接起我们的几个条件就可以了。
比如:“碰到障碍物1或碰到障碍物2或碰到障碍物3”,这样作为我们判断游戏结束的条件。
如果我们选择的角色有飞行的造型,那么我们可以点击小绿旗重复执行切换造型,实现动画效果,最好是每次切换下一个造型以后等待一小会,再切下一个,比如0.2秒左右,这是为了让鸟翅膀扇动的慢一些。
我们还可以从音乐库里选择可循环的音乐,然后重复播放,并等待播完,这样我们就有了一个背景音乐,玩起来效果更好一些。
要注意的是,小鸟本身是不往前走的,只有障碍物不断向左移动,看起来的效果就像是小鸟在向右移动,这是相对运动,也可以给孩子扩展一下。
程序到这里就结束了。
完整程序:
障碍物:
小鸟: