碰撞系统脚本控制

    获取碰撞检测系统

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

    开启后在运行时可显示 碰撞组件碰撞检测范围,如下图

    1. manager.enabledDrawBoundingBox = true;

    结果如下图

    碰撞系统脚本控制 - 图1

    1. /**
    2. * 当碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用
    3. * @param {Collider} other 产生碰撞的另一个碰撞组件
    4. */
    5. onCollisionStay: function (other, self) {
    6. console.log('on collision stay');
    1. cc.eventManager.addListener({
    2. event: cc.EventListener.TOUCH_ONE_BY_ONE,
    3. onTouchBegan: (touch, event) => {
    4. var touchLoc = touch.getLocation();
    5. // 如果是其他类型的碰撞组件,也可以在 cc.Intersection 中找到相应的测试函数
    6. if (cc.Intersection.pointInPolygon(touchLoc, this.polygonCollider.world.points)) {
    7. }
    8. else {
    9. this.title.string = 'Not hit';
    10. }
    11. return true;
    12. }, this.node);

    更多的范例可以到 上查看