以前有一款非常热门的小游戏“是男人就坚持100秒”,这游戏是一场快节奏的躲避游戏,玩家触摸屏幕移动手指操控一艘宇宙飞船,避免飞船撞击陨石,如果飞船不小心撞到了陨石,游戏结束,如果在100秒后还能活着,恭喜你被视为一个真正的男人,开始挑战吧!第一次玩这个游戏时,说实话我还不相信这个游戏的简介,没想到上手玩了好几次都是坚持到十多秒就失败了(图1)。
这款游戏的制作难度不高,用到的知识点也是学过的,可以用Scratch编程完成同款游戏“躲避小球”。在游戏中我们用黄色的小球代替陨石,用火箭代替宇宙飞船,通过鼠标移动操作对火箭进行闪躲。
障碍物小球数量非常多,并且位置随机,移动方向随机,小球碰到舞台边缘会反弹。控制小球需要用克隆和随机方向。当程序运行开始后,小球是处于隐藏的状态,当触发游戏开始广播后,小球随机出现在舞台中,向随机方向运动。我们通过重复执行对小球的步数进行控制(如果玩家想提高小球的移动速度,可以将移动的步數增加,这里我选取了3到5步)。
同时在收到游戏开始的广播后,执行克隆,注意设置一定的等待时间0.2秒,如果没有等待时间会有很多小球蜂拥而出,玩家连存活的机会都没有。为了控制舞台中小球的总数,当小球重复碰到舞台边缘三次后就自动删除,不再出现了(图2)。
火箭的代码相对简单一些,游戏开始时是隐藏状态,当收到游戏开始的广播后,切换到火箭的形态。跟随鼠标移动。当火箭碰到小球(障碍物)时游戏结束。舞台中心显示Game over,并且停止所有脚本(图3)。
为了显示游戏所用的时间我们还需设置一个计时广播,每过一秒,时间变量增加一,直到游戏结束,玩家可查看坚持的时间(图4)。
这样一款好玩的游戏你还不来试一试吗?大家在完成游戏后还可以改进一下,增加一个变量设置成滑杆的形式控制小球的移动速度的快与慢。