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

引擎版本:2.0.8

编辑工具:VsCode

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

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

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

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

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

好,我们开始吧!

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

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

关于两者混用?

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

//、、、、、、、、

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

首先声明一些变量:

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

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

绑定按钮:

//、、、、、、、、、

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

看看效果:

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

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

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

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

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

按钮记得绑定上。

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

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

好了,一样的效果:

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

后续稳定,代码量小。

总结:

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

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

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

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

706176551

我们一起学习!

顺便推荐下我的微信小游戏:《拼消块块》。

欢迎体验!

O(∩_∩)O~~

猜你喜欢

转载自blog.csdn.net/kuokuo666/article/details/87298139
今日推荐