CocosCreator之KUOKUO带你浅析物理系统与代码模拟

本文通过一个小项目,对比了CocosCreator中使用代码模拟与物理系统进行重力模拟的效果和性能。代码模拟虽然复杂但性能高,物理系统则代码简洁但启动时稍有延迟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引擎版本:2.0.8

编辑工具:VsCode

在做小游戏的时候,我们经常会遇到模拟重力这一需求。

而我们都知道CocosCreator中内置了物理系统。但是我们什么情况下用,什么情况下不用呢?

本文通过一个小项目来说明一些问题。

 

首先:我们的目标是模拟一个物块落体运动。

必须包含:重力模拟,水平初速度,速度衰减(模拟阻力),遇到地面回弹。

好,我们开始吧!

新建项目,利用单色节点完成布局:

新建了两个脚本,一个是main.js(纯代码实现),一个是physic.js(纯物理实现)。

关于两者混用?

非物理碰撞组件就是对此准备的,不做讨论。

//、、、、、、、、

好了,我们看纯代码实现:

首先声明一些变量:

update里面做位置改变,留个开关。

FIX:受到阻力那里,应该跟速度的正负来决定加减,如果速度是正的,阻力应该让它变小,如果是负的,应该加一个正如让它更趋于零。之前失误,在此补充说明下。

给按钮留个开关,同时赋予水平初速度。

绑定按钮:

//、、、、、、、、、

看晕了?不要紧,仔细看看一点也不难,就是有点绕!

看看效果:

好,需求完全实现,但是却用了很多变量,写了很多代码。

优点是,启动很快,帧率稳定。

//、、、、、、、、、、、、、

接下来,我们移除main.js脚本,放上去physic.js

嗯。你没看错,就这几句。

按钮记得绑定上。

然后记得给player加刚体与碰撞,给地面也是,并且设置为静态刚体。

地面摩擦力为0,弹力为0,主角player:

好了,一样的效果:

但是很明显,启动时卡了一下FPS。

后续稳定,代码量小。

 

总结:

代码模拟:代码复杂,无需其他配置,性能高。

物理系统:代码简洁,需配置组件属性面板,性能中。

 

好了,希望看完的伙伴们有所收获!O(∩_∩)O~~

 

加我QQ群:(博客里面的项目,群文件里都有哦)

706176551

我们一起学习!

 

O(∩_∩)O~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大家好我是阔阔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值