scratch飞机大战

今天scratch作品是飞机大战。
我们做一个基础版的飞机大战,要实现的操作有:我们的飞机可以按左右键进行左右移动,但是不能上下移动,然后飞机一直在发射子弹,如果子弹碰到下落的敌机就可以获得得分,如果被敌机碰到了就算失败,游戏结束。
首先第一步,我们要从背景库里选择两张背景,一张是游戏背景,一张是失败背景,游戏背景可以是在星空的,也可以是在空地上的,自己喜欢就可以,包括失败页面,也都可以自己设计。
然后我们的基础版一共用了三个角色,一个己方战斗机,一个敌机,一个子弹,角色可以从网上搜索,有很多类似的图片,或者会画画的自己画一个也不是不可以。

scratch飞机大战_第1张图片

 然后先写己方飞机的程序,首先就要让飞机能够左右移动,按下方向键,飞机面向对应的方向,然后移动一定的步数。按左键往左飞,按右键往右飞。
要注意,方向键和面向方向要一一对应,不要写反了。

scratch飞机大战_第2张图片

 飞机可以正常飞行了,那接下来就实现游戏的开始和结束页面的设置。
首先我们一开始程序,是要进入游戏背景的,所以切换到对应的背景,然后把角色显示出来,不能玩隐身战机。

scratch飞机大战_第3张图片

 然后我们游戏结束的条件是飞机碰到敌机,所以,要不断的进行判断,如果碰到敌机,那么游戏结束。
游戏结束我们也有三件事情要做,一是让飞机隐藏,二是切换成失败的背景,三是停止全部脚本,让程序停下来。

scratch飞机大战_第4张图片

 飞机有了,不能没有子弹,接下来就给子弹角色写程序。
子弹需要跟着飞机进行移动,飞机移动到什么位置,子弹就移动到飞机的位置,但是注意,子弹要在飞机上方一点。
因为是在一条横线上移动,高度不变,所以y坐标是不变的,拖动角色到合适的高度,写上就可以了,x坐标要跟着飞机移动而进行变化,也就是x坐标要设为飞机的x坐标。
我们子弹发射的时候,是要不停发射的,如果是设置多个角色,那就需要添加很多角色,操作重复性太高了,所以我们要用克隆来实现。
而克隆的时候,本体是隐藏的,全部用克隆体来实现操作,所以我们加上隐藏模板。

scratch飞机大战_第5张图片

 我们需要在开始程序以后,每过一段时间就发射一次子弹,所以,每隔几秒,就克隆一个新的子弹出来。这个等待时间是可以自己进行调整的,等待时间越长,子弹出现的间隔时间就越长。

scratch飞机大战_第6张图片

 当我们的子弹克隆体出现以后,是需要显示出来的,因为我们本体是隐藏的,如果子弹不显示出来,就看不到了。
子弹要不断往上走,也就是增加y坐标,直到碰到舞台边缘,或者是碰到敌机,就删除掉克隆体。
删除克隆体之前,我们需要等待一小会,以便能够看到子弹击中敌机的效果。

scratch飞机大战_第7张图片

 我们可以更改y坐标的增加值,来控制子弹上升的速度,数值越大,上升的就越快,我们根据情况进行调整即可。
要注意,我们只要满足“碰到边缘”或者“碰到敌机”的任何一种情况,就删除掉这个克隆体,所以用“或”来连接两个条件。
时间和篇幅问题,今天就先写到这里,敌机的程序,等下一篇文章再写吧。
飞机和子弹完整程序:

scratch飞机大战_第8张图片
飞机程序:

scratch飞机大战_第9张图片 

 

 

 

你可能感兴趣的:(python)