如何用Scratch制作一款平台跳跃类游戏【1】

平台跳跃类游戏,比如《超级马里奥》

如何用Scratch制作一款平台跳跃类游戏【1】

比如今年大火的满分游戏:《Celeste蔚蓝》

如何用Scratch制作一款平台跳跃类游戏【1】

这类游戏考验玩家的操作和判断,有着非常本真的游戏乐趣。

这类游戏乍一看,挺容易做的,但是要做好却不太容易。

我们先要理解一个词语:手感。

有时候,我们经常会说一个游戏的手感不错,另外一个的不行。

我们都喜欢玩手感好的游戏。

什么东西导致了手感的差异?

其实就是角色操作行为和用户常识之间的差异,差异越小,手感越好。

那平台类游戏的操作手感怎么做?

我们来分X轴和Y轴的移动操作来举例。

我们平时看到不管是人跑步还是汽车,都是启动较慢,中间保持速度,结束较慢的,对吧,类似一个抛物线。

不是一上来就是匀速前进,一旦停止按键,就立刻停止移动的。

Y方向,我们受到重力的影响,是会加速下滑的,而不是匀速下降的,对吧。

我们要把这种细致的地方做出来,那样和我们的常识预期一致,自然手感就会好了。

恺爸带大家用Scratch来制作一下吧。

我们先简单的建立一个角色和关卡,用Scratch里内置的绘制功能就可以实现。

我们要让这个红色方块的角色,能移动、能跳、能上斜坡、能墙上小跳。

如何用Scratch制作一款平台跳跃类游戏【1】

我们来先做X轴方向的移动。

如何用Scratch制作一款平台跳跃类游戏【1】

我们增加一个X速度的变量,用来当作加速度。

按下左右键,就增加或是减少X速度,然后将X坐标增加X速度。

这样如果按键越长,速度就会越快,但最快就是9,因为每次被乘以了0.9,速度上限就控制住了。

然后不按键的时候,角色速度就会快速递减,直到0,效果就是逐渐停下来。

这样就符合我们之前说的预期。

接下来我们来做Y方向的移动。

最基本的脚本,大概像这样的。

如何用Scratch制作一款平台跳跃类游戏【1】

在碰到地面之前就一直下降。

但这样会有两个问题:

1、移动速度是固定的。

2、碰到地面的时候,会抖动

更好些的重力脚本,可以像这样子的。

如何用Scratch制作一款平台跳跃类游戏【1】

我们要建一个变量:y速度。

把上面那段脚本放在重复循环里。

Y速度就会随着循环次数,越来越小。

然后Y坐标每次增加的幅度就会越大,就会下降的越来越快。

然后我们添加脚本,来判断是否碰到了地面。

如何用Scratch制作一款平台跳跃类游戏【1】

碰到地面的话,往上拉回一段距离,免得陷在了地里面。

试下效果,是不是加速掉到地上就停止住了。

然后我们让他跳起来。

如何用Scratch制作一款平台跳跃类游戏【1】

只要这样设置就可以了。

但是这样会带来一个问题,就是在空中按上键,还能继续跳。

这跟我们预期的就不符合了。

我们是希望他在地面的时候,能跳。

如何用Scratch制作一款平台跳跃类游戏【1】

我们就加一个判断,碰到颜色黑色或是碰到其它角色,都可以。

试一下。

没有跳起来。

为什么?

因为我们刚才那段回拉的脚本,其实这时候,角色是没有碰到黑色的,离黑色有1个单位的距离,只是太小了,我们看不出来。

既然这样就简单了。

我们在起跳之前,把Y坐标往下拉1个单位,最后,往上拉回1个单位。

如何用Scratch制作一款平台跳跃类游戏【1】

试一下,是不是正确了。

现在我们让角色可以上斜坡。

如何用Scratch制作一款平台跳跃类游戏【1】

刚才,如果红色角色移动到斜坡这里的话,是没有反应的,直接就穿到黑色里去了。

我们是希望红色能够沿着斜坡上升。

如何用Scratch制作一款平台跳跃类游戏【1】

如何用Scratch制作一款平台跳跃类游戏【1】

不过现在还会穿到墙里去。

如何用Scratch制作一款平台跳跃类游戏【1】

如何用Scratch制作一款平台跳跃类游戏【1】

我们增加个判断,如果是墙,就往回拉。

如果我们要添加在墙上也能继续跳,也简单。

如何用Scratch制作一款平台跳跃类游戏【1】

如果这时候,继续按上键,根据移动的方向,赋值一个相反X方向的初速度。

然后增加Y速度,让角色沿着墙小跳上去。

好了,一个带重力、加速、能上斜坡、能墙面小跳的跳跃类脚本就是这样了。

如何用Scratch制作一款平台跳跃类游戏【1】

优化:

如果我们想让角色可以越过一些很低的障碍,比如:

如何用Scratch制作一款平台跳跃类游戏【1】

这样的

我们可以在这里多加几个判断,看是否往上移了一格,还是碰到障碍,是的话,继续上移。

一般就判断5格。

修改完的脚本:

如何用Scratch制作一款平台跳跃类游戏【1】

再试下,刚才那个小障碍就可以一跃而过了。

如何用Scratch制作一款平台跳跃类游戏【1】

平台跳跃类游戏的基本角色控制脚本就是这样了。

如果不解释的话,直接看脚本,会觉得很难,没办法理解。

但是经过我的一步步实践和讲解,是不是就清晰多了。

把复杂问题简单化,分解为一个个的小问题,我们解决起来就容易多了。

好了,就介绍到这里,希望可以帮到你。

我们下次将介绍如何制作平台游戏的关卡。

猜你喜欢

转载自blog.csdn.net/weixin_40897235/article/details/86604104