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

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

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

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

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

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

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

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

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

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

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

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

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










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

相关文章
|
3月前
|
存储 前端开发 安全
后端技术在现代软件开发中的关键角色
本文深入探讨了后端技术在现代软件开发中的核心地位和作用。通过分析后端技术的定义、主要功能及其与前端的协同工作方式,阐述了后端对于构建高效、稳定且安全的软件系统的重要性。同时,文章还探讨了当前流行的后端技术趋势,如微服务架构和云计算等,并展望了后端技术未来的发展方向。
|
22天前
|
资源调度 监控 数据可视化
贝尔宾团队角色理论:高效团队的9种角色
贝尔宾团队角色理论将团队分为思考、行动、社交三类九种角色,明确角色定位可优化协作。
80 0
贝尔宾团队角色理论:高效团队的9种角色
|
1月前
|
设计模式 存储 C++
《C++设计模式:重塑游戏角色系统类结构的秘籍》
在游戏开发中,游戏角色系统的类结构设计至关重要。通过C++设计模式,如单例模式、工厂模式、策略模式、装饰器模式、观察者模式和组合模式,可以有效管理角色的创建、属性、行为及状态更新,提高系统的扩展性、可维护性和可读性,从而为玩家带来更优质的游戏体验。
|
4月前
|
存储 前端开发 JavaScript
高级前端必备技能
【8月更文挑战第17天】高级前端必备技能
48 1
|
7月前
|
安全 项目管理 数据安全/隐私保护
角色扮演:项目管理软件中角色的定义与创造性构建
项目管理软件中的角色用于设定用户权限和职责,确保团队协作有序且信息安全。常见角色包括管理员、项目经理、团队成员、客户、观察员和审核者,各自承担不同任务。创建角色通常需要管理员权限,步骤包括登录设置、新建角色、设置权限和访问范围,然后保存和分配。合理的角色分配能有效提升项目管理效率。
154 1
|
7月前
如何实现游戏角色的“呼啦圈”技能?
如何实现游戏角色的“呼啦圈”技能?
63 0
|
7月前
横版游戏中角色的移动控制是如何实现的?
横版游戏中角色的移动控制是如何实现的?
60 0
如何实现横版游戏中角色的移动控制
今天分享一下横版游戏中角色的移动控制,在一个 2D 的横版游戏中,对于游戏角色的移动控制,其实只需要考虑水平方向上即可。如果角色可以跳跃的话,才需要去考虑垂直方向上的移动,这篇文章只涉及到水平方向上的角色移动控制。
94 0
|
供应链 定位技术 UED
从用户问题出发,设计产品和服务| 学习笔记
快速学习从用户问题出发,设计产品和服务
从用户问题出发,设计产品和服务| 学习笔记
|
开发者
氚云丨开发课— 08 流程操作及组织机构管理| 学习笔记
快速学习氚云丨开发课— 08 流程操作及组织机构管理。

热门文章

最新文章