Scratch小游戏
2020-07-16陈新龙
陈新龙
今天我们就来重温那曾经风靡一时的小游戏——飞机大战。现在微信小程序上依旧可以搜索到这个游戏,可见这款游戏的经典。今天就用Scratch制作简单的飞机大战(如图1)。
游戏的前期准备工作,包括了解飞机大战的游戏规则和收集角色图片。
首先分析游戏规则,游戏设置了血量和积分,用来增加游戏的体验感和趣味性,初始的血量为100,积分为0。我方的飞机由鼠标或上下左右按键控制(程序中方便起见使用了鼠标控制)。我方飞机自动向前释放子弹,击中敌机或飞到屏幕边缘消失。当游戏开始后,敌机随机出现,从顶部向下移动,我方飞机需要用子弹射击或躲避敌机。敌机如果碰到子弹飞机消失并积分加一,如果敌机碰到我方飞机或者底部边缘,血量减少,并且扣一积分。
游戏背景我们可以选择一个天空的背景,可以画一个天蓝色背景。
你可以在“爱给(www.aigei.com)”素材网站中下载飞机和子弹的图片素材(如图2)。
作为实例程序,我们只制作飞机大战的必要角色,角色分别为:
我方飞机:由鼠标控制
敌方飞机:随机产生,可在一个角色中设置多个造型克隆时随机变换,数量不限制,从上而下移动。
子弹:从我方飞机向上发射
我方飞机代码:
我方飞机代码很简单,只需要设置血量、积分变量;在循环中一直执行移动到鼠标指针的位置。为了能够与子弹和敌机交互,这里设置了一个“广播”:start用来控制子弹和敌方飞机(如图3)。
子弹代码:
当收到我方飞机的广播通知后,我方飞机会持续发射子弹。这里对子弹使用了“克隆”,让子弹可以无限发射(植物大战僵尸中的豌豆射手也使用克隆发射子弹)。当克隆体启动时,重复执行循环,每次将y坐标增加5,实现子弹从下往上飞的效果,这个数值越大子弹越快。执行侦测判断,当子弹碰到敌机或者飞到舞台边缘,删除此克隆体(如图4)。
敌方飞机代码:
敌机的代码和子弹类似,收到广播通知后,也是重复执行克隆自己。用随机数赋值给x变量,控制克隆出来的飞机从不同的位置飞出来。接下来重复执行y坐标减3的过程,实现敌机从上往下飞行的过程。执行侦测判断,当敌机碰到子弹,说明我方飞机击中了敌机,积分加一。如果敌机飞出了舞台边缘或者敌机撞上了我方飞机,积分减一,且血量减少5(如图5)。
這样一个初级的飞机大战游戏,编写的难度并不大,大家完成之后可以想办法附加些新功能,比如,敌机同样可以增加子弹功能,这样大大增加了游戏的可玩性。还可以增加倒计时功能,或者设置关卡。赶紧动起手来,完善飞机大战的游戏吧。加油!