评论

如何实现横版游戏中角色的跳跃控制

使用两种方式实现角色的跳跃控制。

在写完上一篇[如何实现横版游戏中角色的移动控制]后,有朋友留言:再来个跳跃的。所以,这篇就来了,这篇教程中我将带大家来了解两种实现角色跳跃的方法,一种是利用"物理"实现跳跃控制,另外一种是使用工具为我们提供的“平台角色”行为,来实现角色的跳跃。

利用物理实现角色的跳跃控制

我们继续使用上一节教程中的移动示例,在移动的基础上,给角色增加跳跃行为。

首先,选中要增加跳跃行为的角色,为其开启“物理”行为。

开启后,可以在图层属性的下方看到与“物理”有关的属性。“能够倾倒”默认是开启状态,这里我们把它关掉,因为我们不需要角色倾倒。

另外,在积木区的“行为”中,你会看到与“物理”有关的一大堆的积木块。先不要慌,要实现跳跃功能,其实我们只需要理解并使用其中的两块积木块就可以了。

第一个积木块“设置全局的重力加速度大小和方向”,重力加速度即物体由于重力的作用从空中下落的加速度(不懂的话请自行搜索关键词“重力加速度”,补上初中的物理知识),这里我把重力加速大小设置为了 98(这个数值越大,起跳和下落的速度越快),方向 -90度(垂直向下)。

第二个积木块“设置力的大小和方向”,这个积木块的作用就是我们给游戏中的物体一个指定方向指定大小的力,例如当前角色要向上跳,那么我就给他一个向上的力。

你可以把跳跃想象成这样的一个过程,我们在角色的脚底下狠狠的向上踹了一脚,角色被踹的飞了起来(受到了垂直向上的力),但是因为受到的重力的作用,他向上飞的会越来越慢,直到达到最高点,转而开始下落,最终又落回到地面上。

如图,就是角色的逻辑积木,在之前的移动控制逻辑的基础上,我们只增加了 2 块与“物理”有关的积木块,就实现了跳跃功能。

在跳跃按钮上,当精灵被“按下”时,向角色发送一个“跳跃”的通知即可。

最后,我们为角色的脚下增加一个地面,因为角色受到物理影响,如果脚下没有地面的话,由于重力的作用就会掉下去。所以需要有一个地面,才能够“脚踏实地”。

这里需要注意,在为地面增加物理行为后,“物理”属性中的类型要设置为“静态刚体”,因为地面是不会动的。

最后,预览一下,来看看移动加上跳跃的效果。

利用平台角色行为实现角色的移动和跳跃控制

第二种控制移动和跳跃的方式就是直接使用小游戏制作工具为我们提供的“平台角色”行为这一工具,只需要简单的配置,就可以实现角色的移动和跳跃控制了。

创建一个新场景,这里我们重新布置一下。

如图,包含一个可以控制的角色,一些可以跳跃的平台,以及用于控制移动和跳跃的 3 个按钮。

首先,选中需要控制的角色,在属性区中点击“管理行为”按钮,为其开启“平台角色”行为。

开启了这个行为之后,游戏的角色就具备了一个与“平台跳跃”游戏有关的各种各样的能力了,包括跑动,跳跃,二段跳等等。

与平台角色有关的各种属性可以在“属性区”下方的行为中调整。

看一下,角色身上的积木逻辑。

其实逻辑很简单,监听了 3 个事件,不论是移动和跳跃,我们都是直接使用“平台角色”中提供的对应的积木块。因为需要调整精灵的朝向,所以这里我们使用了一个变量“是否面向右”,根据这个变量的值来判断角色的造型是否需要进行“水平”翻转。

对于 3 个按钮上的积木逻辑就更简单直白了,使用对应的事件,触发时给角色发送对应的通知即可。

最后,为地面以及各种可跳跃的平台开启“固体”行为。另外,如果你希望创建一个可向上穿透的平台,可以选择开启“跳跃穿透”行为。

最终,预览一下,看看第二种跳跃方式。

好了,今天的内容就到这里了,掌握了角色的控制和跳跃技能,你就能够发挥想象力做出一些有意思的东西啦!做个平台跳跃游戏?还是做个小的跑酷游戏呢?期待你的游戏作品。

*角色移动和跳跃的示例项目已开源到社区,需要的朋友可关注下方的公众号[小蚂蚁教你做游戏],并在公众号中回复“移动跳跃项目”,获得开源项目的地址链接。 

小蚂蚁开通视频号啦,分享一下与做游戏有关的有用有趣的短视频,另外每天都会直播制作微信小游戏,欢迎关注哟!


最后一次编辑于  2021-12-07  
点赞 1
收藏
评论
登录 后发表内容