作者:热心汪友
热心汪友
covers
文章简介:《魂斗罗》这款经典射击游戏大家应该并不陌生吧,想用scratch做出跟《魂斗罗》一样畅快淋漓的射击感,做一款射击游戏吗?跟着笔者来只要灵活运用“克隆功能”,学习做Scratch的“子弹系统”吧!

Scratch教程:子弹系统

看这篇文章之前,建议先提前观看Scratch教程:“克隆”功能基本使用方法文章,这样能更加有顺序地学习到知识哦。

克隆功能在我们的作品中真的是使用得特别多,只要灵活运用,就能够做出很多不同的效果,今天就让我们来学习一下怎样在Scratch里面制作子弹系统吧!

《魂斗罗》这款经典射击游戏大家应该并不陌生,拥有着畅快淋漓的射击感,游戏中避开敌人的枪林弹雨,艰难地渡过每一个关卡,炸堡垒,炸炮台,一路过关斩将,最终赢得胜利。笔者小时候可是打了很久才能通关,那种满足的,刺激的感觉,到现在还记忆犹新,不愧为游戏界的经典。

其实,当中发射子弹的效果,在Scratch里面并不难实现,几段程序就能搞定,主要运用的就是我们的克隆功能,原理就是通过克隆功能,在按下某个特定按键后,把一颗子弹,克隆出多颗,并根据编写的动作程序,运行起来。下面我们就开始我们的步骤学习吧。

第一步

这里为了生动点,笔者就选择了一个士兵来作示范,一共两个角色,士兵与子弹。

先是持枪的造型。

之后要在造型页拖动角色,使其角色中心点移动到枪口位置。为什么这样做呢,我们后面再说。

复制第一个造型之后,第二个造型要设成开枪状态,自行画小枪口火焰就好啦。

子弹是需要我们自己去绘画的哦,自行绘制一个子弹角色就可以啦

接下来看看到底该怎么编程吧。

第二步

开始编程,现实中持枪者扣动扳机,子弹就会发射出去,那么在这里,我们也可以设置持枪者是触发子弹的,所以我们先在士兵里面进行编程吧!

这里我们需要运用到标志变量这一个技巧,开枪与不开枪是两种情况,那么我们可以用两个标志变量来决定子弹发射与不发射,这里我们可以使用10,来控制开枪不开枪

此时我们需要运用键盘或者鼠标控制,放入判断指令就好了,因为就两种情况,所以我们就直接使用如果。。。那么。。。否则。。。 指令。

最后加入循环以及一些初始设定,还有绿旗触发指令,就可以了。

通过变量窗口,观察标志变量是否有变化,有变化就可以了。

第三步

子弹角色的编程才是重点,因为子弹角色才是包含运动指令,它的程序将影响它自身的动作。

刚刚已经做了标志变量的控制程序了,现在就直接用上吧!1就是发射子弹,0就是不发射子弹。子弹发射就是克隆自己,然后再根据程序,决定定方向与速度,最后执行。

注:一开始必须要隐藏本体,本体是不动的,只需要克隆体动。克隆要有间隔秒数,不然没有效果,具体秒数可自行调整。

之前的文章都讲过,主体隐藏那么克隆体就要显示,这也是比较常用的套路,通常都这样做。

最后我们来编写克隆体的运动指令,当克隆出来了之后,就一直移动,直到碰到边了就删除克隆体,如果有敌人,碰到敌人也是同样道理。

子弹角色指令

大功告成,效果如下:

灵活拓展

加入方向系统,就能够让士兵,走动起来啦。当然,走动起来之后你会发现,士兵方向变了,但子弹的方向却没有变,那该怎么办呢?我们只需要使用标志变量技巧,就能够顺道控制子弹方向了。

在士兵向左向右的方向控制指令集里面加入一个“左右”标志变量“,1是左,2是右。

然后在子弹主程序里面,加入判断 左右标志变量 的指令就可以了,当左右标志变量1时,子弹面向左边,为2时,面向右边。为什么要放在主程序里面?是因为首先要改变主体的方向,那么克隆体的方向就不会变,如果放在克隆体里面,你可以试试看,会发生什么情况。

效果如下:

好啦,那么这次又教会大家一个小技能啦,持续关注编程豆网站,你将会学习到更多Scratch知识与技巧,还能发掘更多好玩好看的作品,下一篇教程很快就来啦,要关注我们哦。