欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CocosCreator开发笔记(17)-碰撞检测系统的常用接口

程序员文章站 2022-06-11 10:09:33
...

Cocos Creator 内置了一个简单易用的碰撞检测系统,支持 圆形,矩形 以及 多边形 相互间的碰撞检测。

碰撞系统接口

获取碰撞检测系统

let manager = cc.director.getCollisionManager();

默认碰撞检测系统是禁用的,使用时需要以下方法开启碰撞检测系统

manager.enabled = true;

默认碰撞检测系统的 debug 绘制是禁用的,如果需要可使用以下方法开启 debug 绘制:

manager.enabledDebugDraw = true;  

如果还希望显示碰撞组件的包围盒,可以通过以下接口来进行设置:

manager.enabledDrawBoundingBox = true;  

如果节点添加了BoxCollider组件,则可在节点运行时随时获取到碰撞盒的位置

let collider = this.node.getComponent(cc.BoxCollider);
if (collider) {
    let rc = collider.world.aabb; // 得到碰撞盒矩形的世界坐标
}

CocosCreator还有一些检测相关的方法主要在Rect结构里,如下:

  • intersects 当前矩形与指定矩形是否相交。
  • intersection 返回 2 个矩形重叠的部分。
  • contains 当前矩形是否包含指定坐标点。
  • containsRect 当前矩形是否包含指定矩形。
  • union 返回一个包含当前矩形和指定矩形的最小矩形。
相关标签: CocosCreator