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

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

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


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


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


640.png


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


640.png


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


640.png


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


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


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


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


640.png


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


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


640.png


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


640.png


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


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


640.gif


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


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


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


640.png


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


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


640.png


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


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


640.png


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


640.png


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


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


a65ee671cbe109c1b4367dc7b60a670f.png

ba915851bbae9fcb1e92ae9a948e4910.png

ded4195692be35cb3165221b974567f5.png


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


be41ca1b1eeebd0e276fc52d68eff68f.png


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


0de26d6523f04c6d2b4cc0920d430edf.gif


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

相关文章
|
2月前
|
C#
24. C# 编程:用户设定敌人初始血值的实现
24. C# 编程:用户设定敌人初始血值的实现
38 0
|
2月前
|
移动开发 小程序 API
【产品上新】openURL接口开放,实现在小程序与H5之间“反复横跳”
【产品上新】openURL接口开放,实现在小程序与H5之间“反复横跳”
55 1
|
2月前
|
索引
消除游戏中图标下落的原理和实现
消除游戏中图标下落的原理和实现
22 1
|
2月前
实现横版游戏中角色的跳跃控制是如何实现的?
实现横版游戏中角色的跳跃控制是如何实现的?
30 0
|
2月前
横版游戏中角色的移动控制是如何实现的?
横版游戏中角色的移动控制是如何实现的?
32 0
|
2月前
|
存储 算法 Serverless
连线消除游戏的原理和实现
连线消除游戏的原理和实现
55 0
如何实现横版游戏中角色的跳跃控制
在写完上一篇[如何实现横版游戏中角色的移动控制]后,有朋友留言:再来个跳跃的。所以,这篇就来了,这篇教程中我将带大家来了解两种实现角色跳跃的方法,一种是利用"物理"实现跳跃控制,另外一种是使用工具为我们提供的“平台角色”行为,来实现角色的跳跃。 利用物理实现角色的跳跃控制
69 0
如何实现横版游戏中角色的移动控制
今天分享一下横版游戏中角色的移动控制,在一个 2D 的横版游戏中,对于游戏角色的移动控制,其实只需要考虑水平方向上即可。如果角色可以跳跃的话,才需要去考虑垂直方向上的移动,这篇文章只涉及到水平方向上的角色移动控制。
61 0
如何做一个俄罗斯方块3:形状控制
今天,我们来继续学习和实现下一个模块:玩家控制形状。在俄罗斯方块游戏中,玩家可以对下落的形状进行控制,控制分为两种,一种是控制形状的移动(左,右,下),一种是控制形状的旋转(顺时针旋转 90 度)。
112 0