CollisionManager 类型

模块: cc

一个简单的碰撞组件管理类,用于处理节点之间的碰撞组件是否产生了碰撞,并调用相应回调函数。

示例

// Get the collision manager. 获取碰撞管理器
let manager = cc.director.getCollisionManager();

// Enabled the colider manager.  启用检测
manager.enabled = true;

// Enabled draw collider  绘制碰撞检测
manager.enabledDebugDraw = true;

// Enabled draw collider bounding box  绘制碰撞的盒子
manager.enabledDrawBoundingBox = true;

//如果不用回调函数那么就是
/*
onCollisionEnter(other,self){
    
}
*/

// Collision callback
onCollisionEnter: function (other, self) {
    this.node.color = cc.Color.RED;
    this.touchingNumber ++;

    // let world = self.world;
    // let aabb = world.aabb;
    // let preAabb = world.preAabb;
    // let m = world.matrix;

    // for circle collider
    // let r = world.radius;
    // let p = world.position;

    // for box collider and polygon collider
    // let ps = world.points;
},

onCollisionStay: function (other, self) {
    console.log('on collision stay');
},

onCollisionExit: function (other, self) {
    this.touchingNumber --;
    if (this.touchingNumber === 0) {
        this.node.color = cc.Color.WHITE;
    }
}
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐