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

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

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


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


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


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


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

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


先理论


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

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


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


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


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

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


再实践


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

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


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


接着,创建几个全局变量


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

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

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

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

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

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

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

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


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

相关文章
|
2月前
|
存储 前端开发 安全
后端技术在现代软件开发中的关键角色
本文深入探讨了后端技术在现代软件开发中的核心地位和作用。通过分析后端技术的定义、主要功能及其与前端的协同工作方式,阐述了后端对于构建高效、稳定且安全的软件系统的重要性。同时,文章还探讨了当前流行的后端技术趋势,如微服务架构和云计算等,并展望了后端技术未来的发展方向。
|
7天前
|
设计模式 存储 C++
《C++设计模式:重塑游戏角色系统类结构的秘籍》
在游戏开发中,游戏角色系统的类结构设计至关重要。通过C++设计模式,如单例模式、工厂模式、策略模式、装饰器模式、观察者模式和组合模式,可以有效管理角色的创建、属性、行为及状态更新,提高系统的扩展性、可维护性和可读性,从而为玩家带来更优质的游戏体验。
|
3月前
|
算法
互动游戏解决遇到问题之开发同学是如何实现小鸡移动的
互动游戏解决遇到问题之开发同学是如何实现小鸡移动的
|
6月前
|
人工智能 算法 API
百川智能发布角色大模型 ,零代码复刻角色轻松满足游戏领域定制需求
百川智能于2024年1月9日推出Baichuan-NPC角色大模型,优化了角色知识和对话能力,提升游戏AI角色的真实感。同时,公司发布了零代码角色创建平台,允许游戏厂商通过简单描述快速定制角色,降低开发成本和提高效率。Baichuan-NPC通过大量针对性训练,解决了角色扮演的“非拟人化”问题,增强了角色一致性。此外,百川智能的角色创建平台结合搜索增强知识库,提供高自由度的角色定制,支持实时调优和一键代码复制,简化了开发流程,已获得创梦天地、完美世界游戏等合作伙伴的认可。
89 2
百川智能发布角色大模型 ,零代码复刻角色轻松满足游戏领域定制需求
|
6月前
|
安全 项目管理 数据安全/隐私保护
角色扮演:项目管理软件中角色的定义与创造性构建
项目管理软件中的角色用于设定用户权限和职责,确保团队协作有序且信息安全。常见角色包括管理员、项目经理、团队成员、客户、观察员和审核者,各自承担不同任务。创建角色通常需要管理员权限,步骤包括登录设置、新建角色、设置权限和访问范围,然后保存和分配。合理的角色分配能有效提升项目管理效率。
146 1
什么是元宇宙游戏系统开发案例介绍/方案步骤/需求功能/源码指南
Metaverse game system development refers to the creation of a complex system that combines virtual reality, blockchain technology, and game design, allowing players to immerse themselves in a virtual world and interact with other players, trade virtual assets, and more. This type of gaming system ty
如何实现游戏角色的“呼啦圈”技能?
关键词:精灵旋转,绕圈旋转,转圈道具,旋转道具,游戏开发,教程,微信小游戏制作工具。 今天分享的这篇是学员提的问题:如何实现让游戏角色拾取一个道具,然后这个道具就会围绕着他旋转,如果再拾取一个,就会变成两个道具围绕着角色转,再拾取变成三个,四个.....其实这就是一个游戏角色的“呼啦圈”技能,“呼啦圈”是我起的一个名字,看看下面的动图就知道了,这种围绕着游戏角色转圈圈的技能很像是呼啦圈啦
112 0
|
领域建模 图形学
3D角色建模师和3D角色动画师哪个更有前景?哪个更适合小白入门?
我的建议是:先学3D角色建模,掌握后找一份3D角色建模的工作先做着,然后慢慢学动画!
294 0
3D角色建模师和3D角色动画师哪个更有前景?哪个更适合小白入门?
|
自然语言处理 JavaScript IDE
零代码创建专属互动语音技能
本文介绍零代码上线一个地理小知识的语音技能应用,带你轻松理解AliGenie技能应用平台开发应用的全流程。
282 1
零代码创建专属互动语音技能
|
设计模式 内存技术
《游戏机制——高级游戏设计技术》一导读
本书将告诉你如何设计、测试及调整游戏的核心机制。这些理论适用于任何游戏—从庞大的角色扮演游戏(RPG,role-playing game)到手机休闲游戏,再到传统的桌上游戏(board game)。在学习过程中,我们会使用大量你可能已经耳熟能详的实际游戏作品作为案例,包括《吃豆人》(Pac-Man)、《地产大亨》(Monopoly)、《文明》(Civilization)、《星际争霸Ⅱ》(StarCraftⅡ)等等。
2687 0