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~~