如何实现游戏角色的“呼啦圈”技能?

简介: 关键词:精灵旋转,绕圈旋转,转圈道具,旋转道具,游戏开发,教程,微信小游戏制作工具。今天分享的这篇是学员提的问题:如何实现让游戏角色拾取一个道具,然后这个道具就会围绕着他旋转,如果再拾取一个,就会变成两个道具围绕着角色转,再拾取变成三个,四个.....其实这就是一个游戏角色的“呼啦圈”技能,“呼啦圈”是我起的一个名字,看看下面的动图就知道了,这种围绕着游戏角色转圈圈的技能很像是呼啦圈啦

关键词:精灵旋转,绕圈旋转,转圈道具,旋转道具,游戏开发,教程,微信小游戏制作工具。

嗨!大家好,我是小蚂蚁。

今天分享的这篇是学员提的问题:如何实现让游戏角色拾取一个道具,然后这个道具就会围绕着他旋转,如果再拾取一个,就会变成两个道具围绕着角色转,再拾取变成三个,四个.....

其实这就是一个游戏角色的“呼啦圈”技能,“呼啦圈”是我起的一个名字,看看下面的动图就知道了,这种围绕着游戏角色转圈圈的技能很像是呼啦圈啦!

我们直接制作一个小示例,以此来讲解其中的实现原理。

这个小示例看上去就是这个样子的:

image.png

控制小怪兽在游戏中移动,每当它拾取一个火焰的时候,就会增加一个火焰道具围绕着它旋转,再拾取一个时,增加一个旋转的火焰道具,依次类推,并且这些旋转的火焰道具要有均匀的间隔,这样转起圈来才会显得更稳定。

先理论

在正式开始制作之前,我们还是先来了解一下让一个精灵围绕着另一个精灵旋转的原理。

image.png


如图,蓝色方块围绕着红色方块转动,可以看作是蓝色方块以红色方块的中心为圆点,以固定的距离为半径,在这个圆上移动。

在旋转的过程中,角度 a 是在不断的变化的,可以利用正弦和余弦函数来计算出蓝色方块的位置坐标,这样在循环中通过不停的设置蓝色方块的坐标就能够实现其圆周运动。

又是一个简单的数学知识的应用,不少同学可能又要头疼了,先别疼,克服对数学的恐惧心理,这个真不难,拿出纸和笔动手画一画就会了。关于游戏中最常用的几个数学知识,之前专门写过一篇文章【在这里】,总共就几个知识点,搞明白了,基本上就解决游戏中的一大部分数学问题了。

如何让火焰围绕着小怪兽转圈移动的原理现在已经懂了,接下来如何能够让绕圈的火焰平均分布呢?


image.png

如图,我们都知道一圈是 360 度,当有 2 个球的时候,要平均分布的话,它们要间隔 180 度;当有 3 个球的时候,要平均分布的话,要间隔 120 度;当有四个球的话,要平均分配,要间隔 90度,当有 5 个球的时候..... 其实就是平均分配一个圆形的蛋糕嘛!使用 360 度除以平均分配的数量,就能够知道平均的间隔角度了。

再实践

理论知识了解了,下面我们就到微信小游戏制作工具中来实现一下吧!

首先,准备一些素材,布置一下场景。

image.png

如图,摇杆用于控制角色的移动,小怪兽是游戏的主角,火焰道具是用于拾取的道具,火焰效果是用于围绕小怪兽转圈的道具。

接着,创建几个全局变量

image.png

全局编号:记录当前创建了几个火焰道具;

全局间隔角度:记录转圈火焰之间的间隔角度;

旋转半径:用于设置转圈火焰与角色间的距离,设置为 300,即火焰会在以角色中心 300 为半径的圆上移动。

首先,看一下“火焰道具”上的积木逻辑。

image.png

逻辑很简单,场景启动后,随机的在屏幕上创建 5 个火焰道具。当角色碰到道具(拾取)时,增加转圈火焰的数量,因为数量增加了,所以需要重新计算平均间隔,创建一个新的火焰,然后重新调整所有转圈火焰的角度,最后移除这个被拾取的道具。

接着,我们来看“火焰效果”上的积木逻辑。

image.png

火焰效果上有两个自己的“局部变量”,一个用于记录当前的旋转角度,一个用于记录自己的编号。

image.png

这里比较难理解的地方可能就是“旋转角度”的计算,我们使用“编号”和“全局间隔角度”来计算出当前火焰的初始旋转角度。举个例子就容易理解了,假设有 3 个火焰,360 / 3 可以得到平均的间隔角度为 120 度,现在我们把 3 个火焰编号 1,2,3,那火焰1的初始角度就是 1*120 = 120 度,火焰2的初始角度就是 2*120 = 240 度,火焰3的初始角度就是 3*120 = 360度,只要按照这三个角度来设置三个火焰的初始角度,然后三个火焰都按照相同的方向和速度移动,那它们旋转起来就会达到平衡。

最后,预览一下,来看看五个火焰的平衡旋转状态。

image.png

今天的这篇文章源自我为学员编写的【知识卡片库】,一个知识卡片解决一个问题,搭配一个示例。目前这样的知识卡片已经累计到了 104 个,配合搜索功能,用起来非常方便。这些知识卡片正在帮助越来越多的学员快速的解决问题,以及更好的学习。

image.png

【知识卡片库】是学习服务中的一项,更好的课程,更多的学习服务,有良好氛围的学习社群,一年不限次数的咨询,尽在一份小蚂蚁的游戏开发课程服务,欢迎加入,来与一百多位同学,一起学习做游戏。【点击这里】了解课程服务详情。

我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的就对啦!

这里是小蚂蚁的小游戏系列,闲暇之余希望能给你带来片刻的放松和愉悦。无需下载安装,点击下方的游戏卡片就可以直接玩啦!

这里是小蚂蚁的小游戏系列,闲暇之余希望能给你带来片刻的放松和愉悦。无需下载安装,点击下方的游戏卡片就可以直接玩啦!










也欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识和内容,可以来围观。备注“学习做游戏”可免费领取学习做游戏的原创教程资料。接受付费咨询,不闲聊,望见谅。

相关文章
|
6月前
|
人工智能 算法 API
百川智能发布角色大模型 ,零代码复刻角色轻松满足游戏领域定制需求
百川智能于2024年1月9日推出Baichuan-NPC角色大模型,优化了角色知识和对话能力,提升游戏AI角色的真实感。同时,公司发布了零代码角色创建平台,允许游戏厂商通过简单描述快速定制角色,降低开发成本和提高效率。Baichuan-NPC通过大量针对性训练,解决了角色扮演的“非拟人化”问题,增强了角色一致性。此外,百川智能的角色创建平台结合搜索增强知识库,提供高自由度的角色定制,支持实时调优和一键代码复制,简化了开发流程,已获得创梦天地、完美世界游戏等合作伙伴的认可。
87 2
百川智能发布角色大模型 ,零代码复刻角色轻松满足游戏领域定制需求
|
6月前
|
安全 项目管理 数据安全/隐私保护
角色扮演:项目管理软件中角色的定义与创造性构建
项目管理软件中的角色用于设定用户权限和职责,确保团队协作有序且信息安全。常见角色包括管理员、项目经理、团队成员、客户、观察员和审核者,各自承担不同任务。创建角色通常需要管理员权限,步骤包括登录设置、新建角色、设置权限和访问范围,然后保存和分配。合理的角色分配能有效提升项目管理效率。
145 1
|
6月前
如何实现游戏角色的“呼啦圈”技能?
如何实现游戏角色的“呼啦圈”技能?
53 0
|
6月前
|
开发者
如果想做个“大”游戏,都需要具备什么?
如果想做个“大”游戏,都需要具备什么?
54 0
|
6月前
横版游戏中角色的移动控制是如何实现的?
横版游戏中角色的移动控制是如何实现的?
52 0
|
Java
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏07游戏输入管理
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏07游戏输入管理
120 0
如何实现横版游戏中角色的移动控制
今天分享一下横版游戏中角色的移动控制,在一个 2D 的横版游戏中,对于游戏角色的移动控制,其实只需要考虑水平方向上即可。如果角色可以跳跃的话,才需要去考虑垂直方向上的移动,这篇文章只涉及到水平方向上的角色移动控制。
84 0
|
Java 计算机视觉
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏04图像资源的透明处理
121 0
|
领域建模 图形学
3D角色建模师和3D角色动画师哪个更有前景?哪个更适合小白入门?
我的建议是:先学3D角色建模,掌握后找一份3D角色建模的工作先做着,然后慢慢学动画!
292 0
3D角色建模师和3D角色动画师哪个更有前景?哪个更适合小白入门?
|
设计模式 内存技术
《游戏机制——高级游戏设计技术》一导读
本书将告诉你如何设计、测试及调整游戏的核心机制。这些理论适用于任何游戏—从庞大的角色扮演游戏(RPG,role-playing game)到手机休闲游戏,再到传统的桌上游戏(board game)。在学习过程中,我们会使用大量你可能已经耳熟能详的实际游戏作品作为案例,包括《吃豆人》(Pac-Man)、《地产大亨》(Monopoly)、《文明》(Civilization)、《星际争霸Ⅱ》(StarCraftⅡ)等等。
2685 0
下一篇
无影云桌面