Skip to main content

moregeek program

如何实现横版游戏中角色的移动控制_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。

今天分享一下横版游戏中角色的移动控制,在一个 2D 的横版游戏中,对于游戏角色的移动控制,其实只需要考虑水平方向上即可。如果角色可以跳跃的话,才需要去考虑垂直方向上的移动,这篇文章只涉及到水平方向上的角色移动控制。

如何实现横版游戏中角色的移动控制_游戏开发

如图,是一个人物角色,我们需要考虑的有两点。

第一点是控制这个角色在水平方向上移动,按向右移动的按钮时,他的位置应该向右移动,按向左移动的按钮时,他的位置应该向左移动。

第二点是控制角色的朝向,向右移动时,角色应该面向右,向左移动时,角色应该面向左。

接下来,我们来到微信小游戏制作工具中,看一下如何实现这样的移动控制功能。

我们先来实现一下利用“摇杆”控制角色的移动。“摇杆”插件位于素材库中,点击“资源管理器”中的“添加素材”按钮,打开素材库。

如何实现横版游戏中角色的移动控制_游戏开发_02

在素材库的上选择“插件”,找到“摇杆”,添加到项目中。

接着,再添加一个用于控制的角色,可以在素材库中找到“丛林冒险”中的“奔跑人物”(这个素材是有跑步动画帧的),添加到项目中。

如何实现横版游戏中角色的移动控制_游戏开发_03

添加完成之后,我们的项目就变成了这样。

如何实现横版游戏中角色的移动控制_游戏开发_04

接下来我们将使用下方的这个摇杆来控制游戏角色的移动。

要实现精灵的移动控制,其实工具已经为我们提供了现成的“行为”了,选中“奔跑人物”,然后在属性区中点击“管理行为”,在打开的行为面板中,开启“方向控制”行为。

如何实现横版游戏中角色的移动控制_游戏开发_05

行为开启后,回到属性区的下方就可以看到关于“方向控制”行为的一些属性了。这里因为我们只需要控制水平方向上的移动,所以方向选择这里使用“左右”即可。

如何实现横版游戏中角色的移动控制_游戏开发_06

除此之外,在积木区中的“行为”类别中,也增加了与“方向控制”有关的积木块。

如何实现横版游戏中角色的移动控制_游戏开发_07

其实,在增加了“摇杆”插件,开启了“方向控制”行为之后,我们就已经完成第一步了,点击预览场景,看一下。

如何实现横版游戏中角色的移动控制_游戏开发_08

可以看到,这时我们已经可以使用摇杆来控制角色的移动了。

接下来,我们继续完成第二步,就是调整角色的朝向,让角色向右移动时,面向右,向左移动时,面向左。

想要实现这个功能,需要先了解 2 块积木块,第一块就是“方向控制”中的“移动方向”积木块。

如何实现横版游戏中角色的移动控制_游戏开发_09

调用这个积木块,我们可以获得一个角度值,通过判断当前的角度值,可以知道当前角色是在向哪里移动。

如何实现横版游戏中角色的移动控制_游戏开发_10

如图,如果当前正在向右移动的话,调用“移动方向”积木块会获得一个 0 的值,向左移动的话,会获得一个 180 的值。

接下来,我们了解一下第二块积木块。位于“外观”中的“将自己的造型水平翻转”。

如何实现横版游戏中角色的移动控制_游戏开发_11

这个积木块帮助我们解决的就是精灵图片的朝向。

如何实现横版游戏中角色的移动控制_游戏开发_12

如图,左侧的图片经过“水平”翻转后,就会变成右侧的样子。

在了解完这两块必须的积木块之后,我们直接来看一下实现逻辑,在角色上增加如下的积木块。

如何实现横版游戏中角色的移动控制_游戏开发_13

这里我们根据“是否向右”的变量的值,以及“移动方向”的数值,来判断何时进行水平翻转。如果当前角色面向右,那么只有在角色向左移动的时候,才应该进行一次翻转,让角色面向左,反之亦然。

再次预览一下,看看移动效果。

如何实现横版游戏中角色的移动控制_游戏开发_14

根据摇杆的控制,角色会向正确的方向移动,并且会面向正确的方向,这样控制角色移动的功能就完成了,

可能有人会说,这是一个 2D 横版游戏,根本没有必要使用一个包含 4 个方向的摇杆,只需要使用“一左一右”的两个按钮控制方向就可以了。使用两个按钮来控制方向其实也非常的简单。

我们在场景中增加两个按钮,表示左右键。

如何实现横版游戏中角色的移动控制_游戏开发_15

然后,新建 2 个通知,一个通知“向左移动”,一个通知“向右移动”。

如何实现横版游戏中角色的移动控制_游戏开发_16

这两个按钮的上的逻辑非常的简单,当我按住按钮时,它们给游戏中的角色发送对应的通知。

如何实现横版游戏中角色的移动控制_游戏开发_17

如何实现横版游戏中角色的移动控制_游戏开发_18

最后,来到角色上,接收这两个通知,然后只需要根据通知调用“行为”中的“向左/右移动”积木即可。

如何实现横版游戏中角色的移动控制_游戏开发_19

最后,我们来预览一下。

如何实现横版游戏中角色的移动控制_游戏开发_20

这样我们就实现两种移动控制方式,一种使用“摇杆”控制,一种使用“左右按钮”控制,其实“摇杆”插件只不过是自动给我们处理了向左向右的移动而已。

好了,今天的内容就到这里了,对于横版游戏中角色的移动控制技能,你掌握了吗? 


​嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。

如何实现横版游戏中角色的移动控制_游戏开发_21


©著作权归作者所有:来自51CTO博客作者小蚂蚁教你做游戏的原创作品,请联系作者获取转载授权,否则将追究法律责任
如何实现横版游戏中角色的移动控制
https://blog.51cto.com/u_15530520/5451500

如何做一个音乐小游戏_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。这个小游戏的想法来源于女儿的一个打击玩具,我试着将其进行了一下还原,并做成了一个音乐小游戏。下方为游戏的实现过程以及实现原理,大体上音乐小游戏的实现原理都类似,在了解并掌握一个后,你也能够做出自己的音乐小游戏。为了尽可能的还原,我直接使用了真实的照片当作游戏的背景。如图,我将这个打击小乐器放在了地板上,然

【unity】升级版·excel数据解析,自动创建对应c#类,自动创建scriptableobject生成类,自动序列化asset文件_萧然cs的unity博客的博客-多极客编程

 实现功能:自动创建继承ScriptableObject的C#数据类,每条Excel的数据,都有对应的字段的Get函数;自动创建每个Excel的Asset生成类和生成函数,用于自动生成Asset文件使用Asset生成类自动序列化Excel数据到Asset文件,可直接在项目运行时加载使用实现原理:Excel配置格式:第1行对应特殊标记(可以设置有效性,指定要创建的文件)第2行对应中文说明(作为第3行

如何实现游戏中的在线计时器和离线计时器_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。在游戏中经常会有需要倒计时的需求,例如倒计时 10 分钟可以获得 1 点体力,倒计时 1 小时后可以开启一个宝箱,或者是根据游戏的计时获得奖励等等。今天就分享一下如何使用微信小游戏制作工具来实现在线计时器和离线计时器的功能。在线计时器首先布置一下场景。如图的场景中,只有一个背景,以及一个基础的文字,我们将

如何实现横版游戏中角色的跳跃控制_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。在写完上一篇[如何实现横版游戏中角色的移动控制]后,有朋友留言:再来个跳跃的。所以,这篇就来了,这篇教程中我将带大家来了解两种实现角色跳跃的方法,一种是利用"物理"实现跳跃控制,另外一种是使用工具为我们提供的“平台角色”行为,来实现角色的跳跃。利用物理实现角色的跳跃控制我们继续使用上一节教程中的移动示例,

【unity】绘制阿基米德螺旋线_萧然cs的unity博客的博客-多极客编程

阿基米德螺线定义:阿基米德螺线是一个点匀速离开一个固定点的同时又以固定的角速度绕该固定点转动而产生的轨迹。 阿基米德螺旋线公式:极坐标方程为: r = a + bθ平面笛卡尔坐标方程式为: x = (a + bθ)cos(θ), y = (a + bθ)sin(θ)a: 当θ=0°时的极径(mm)b: 阿基米德螺旋线系数(mm/°),表示每旋转1度时极径的增加/减小量θ: 极角,单位为度,表示阿基

彻底搞懂函数,读这篇文章就够了_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。如果你之前使用过任何一门编程语言,那么对于你来讲想必已经知道什么是函数,以及如何使用函数了,那你大可不必往下读了。这篇文章是写给新手看的,也就是说我假设你对于函数没有任何的概念。我们就先从什么是函数来说起吧!上学的时候,我们都学过函数,举个简单的例子:y = 2x。这就是一个函数公式,它的作用是什么呢?每

如何做一个音乐小游戏_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。这个小游戏的想法来源于女儿的一个打击玩具,我试着将其进行了一下还原,并做成了一个音乐小游戏。下方为游戏的实现过程以及实现原理,大体上音乐小游戏的实现原理都类似,在了解并掌握一个后,你也能够做出自己的音乐小游戏。为了尽可能的还原,我直接使用了真实的照片当作游戏的背景。如图,我将这个打击小乐器放在了地板上,然

如何实现游戏中的在线计时器和离线计时器_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。在游戏中经常会有需要倒计时的需求,例如倒计时 10 分钟可以获得 1 点体力,倒计时 1 小时后可以开启一个宝箱,或者是根据游戏的计时获得奖励等等。今天就分享一下如何使用微信小游戏制作工具来实现在线计时器和离线计时器的功能。在线计时器首先布置一下场景。如图的场景中,只有一个背景,以及一个基础的文字,我们将

如何让你的小游戏适配不同尺寸的手机屏幕_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。当前的手机屏幕有着各种各样不同的尺寸,为了让游戏在不同尺寸的屏幕上都能展示出比较好的效果,我们就需要处理游戏对于不同尺寸屏幕的适配问题,今天这篇文章就带大家来彻底的了解如何让你的小游戏适配不同尺寸的手机屏幕。通常游戏中需要去处理适配的有三部分内容:游戏的UI,游戏的背景以及游戏中内容的布局。其中游戏 UI

如何实现横版游戏中角色的跳跃控制_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。在写完上一篇[如何实现横版游戏中角色的移动控制]后,有朋友留言:再来个跳跃的。所以,这篇就来了,这篇教程中我将带大家来了解两种实现角色跳跃的方法,一种是利用"物理"实现跳跃控制,另外一种是使用工具为我们提供的“平台角色”行为,来实现角色的跳跃。利用物理实现角色的跳跃控制我们继续使用上一节教程中的移动示例,

彻底搞懂函数,读这篇文章就够了_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。如果你之前使用过任何一门编程语言,那么对于你来讲想必已经知道什么是函数,以及如何使用函数了,那你大可不必往下读了。这篇文章是写给新手看的,也就是说我假设你对于函数没有任何的概念。我们就先从什么是函数来说起吧!上学的时候,我们都学过函数,举个简单的例子:y = 2x。这就是一个函数公式,它的作用是什么呢?每

如何在小游戏使用键盘进行输入_小蚂蚁的博客-多极客编程

嗨!大家好,我是小蚂蚁。欢迎关注我的微信公众号【小蚂蚁教你做游戏】,学习更多游戏开发原创教程。在游戏中经常需要使用到键盘,让玩家能够在游戏中进行输入操作。今天就分享一下如何在微信小游戏制作工具中使用键盘进行输入。要想使用与键盘有关的功能,首先,需要开启“键盘”插件。点击“功能区”中的“添加插件”按钮。在管理插件面板中,开启“键盘”插件。开启之后,你就能够在积木区右侧的“插件”类别中看到与键盘有关的