碰撞系统脚本控制
获取碰撞检测系统
默认碰撞检测系统是禁用的,如果需要使用则需要以下方法开启碰撞检测系统
开启后在运行时可显示 碰撞组件 的 碰撞检测范围,如下图:
manager.enabledDrawBoundingBox = true;
结果如下图所示:
/**
* 当碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用
* @param {Collider} other 产生碰撞的另一个碰撞组件
* @param {Collider} self 产生碰撞的自身的碰撞组件
*/
console.log('on collision stay');
},
collider: cc.BoxCollider
},
start () {
// 开启碰撞检测系统,未开启时无法检测
cc.director.getCollisionManager().enabled = true;
// cc.director.getCollisionManager().enabledDebugDraw = true;
let touchLoc = touch.getLocation();
// https://docs.cocos.com/creator/api/zh/classes/Intersection.html 检测辅助类
if (cc.Intersection.pointInPolygon(touchLoc, this.collider.world.points)) {
console.log("Hit!");
}
else {
console.log("No hit");
}
}, this);
更多的范例可以到 github 上查看。