1.分组管理
点击你想做成碰撞检测组件的 属性检查器,可以在这个页面直接编辑
我这边添加了两个分组,并且需要在这个页面选择你允许产生碰撞的分组配对
编辑完之后在 属性检查器 中 选择 Group 分组
2.编辑碰撞范围
选中碰撞组件,在他的 属性检查器 中 PolygonCollider 位置编辑。编辑时勾选 Editing。
Threshold表示两点之间的最小距离,不规则的图形可以通过设置 Threshold 的大小 并点击 Regenerate Points 来自动编辑,但是他会默认把你图上所有的内容都画上点,因为我想要只有图中的某一部分才会发生碰撞,所以我就自己描点了。
它还提供圆形和矩形编辑。
3.脚本
onLoad() {
//开启碰撞组件
let manager = cc.director.getCollisionManager();
// Enabled the colider manager.
manager.enabled = true;
}
上面显示的是最简单的实现方法
还有一些其他的属性,如果需要可以在 onLoad 中添加
绘制碰撞组件的形状:
manager.enabledDebugDraw = true;
绘制碰撞组件的包围盒:
manager.enabledDrawBoundingBox = true;
回调函数
当碰撞产生的时候调用:
onCollisionEnter(other,self){}
碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用
onCollisionStay(other,self){}
碰撞结束后调用
onCollisionExit(other,self){}