CollisionManager 类型

模块: cc 父模块: 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;


// 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;
    }
}

索引

属性(properties)
  • enabled Boolean 是否开启碰撞管理,默认为不开启
  • enabledDrawBoundingBox Boolean 是否绘制碰撞组件的包围盒,默认为不绘制
  • enabledDebugDraw Boolean 是否绘制碰撞组件的形状,默认为不绘制
方法
  • hasEventListener 检查事件目标对象是否有为特定类型的事件注册的回调。
  • on 注册事件目标的特定事件类型回调。
  • off 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
  • targetOff 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
  • once 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。
  • emit 通过事件名发送自定义事件
  • dispatchEvent 通过事件对象派发事件

Details

属性(properties)

enabled

是否开启碰撞管理,默认为不开启

meta description
类型 Boolean
定义于 cocos2d/core/collider/CCCollisionManager.js:120
enabledDrawBoundingBox

是否绘制碰撞组件的包围盒,默认为不绘制

meta description
类型 Boolean
定义于 cocos2d/core/collider/CCCollisionManager.js:128
enabledDebugDraw

是否绘制碰撞组件的形状,默认为不绘制

meta description
类型 Boolean
定义于 cocos2d/core/collider/CCCollisionManager.js:462

方法

hasEventListener

检查事件目标对象是否有为特定类型的事件注册的回调。

meta description
返回 Boolean
定义于 cocos2d/core/event/event-target.js:68
参数列表
  • type String The type of event.
on

注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

meta description
返回 Function
定义于 cocos2d/core/event/event-target.js:76
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
    • arg1 Any arg1
    • arg2 Any arg2
    • arg3 Any arg3
    • arg4 Any arg4
    • arg5 Any arg5
  • target Object The target (this object) to invoke the callback, can be null
示例
eventTarget.on('fire', function () {
    cc.log("fire in the hole");
}, node);
off

删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

meta description
定义于 cocos2d/core/event/event-target.js:116
参数列表
  • type String A string representing the event type being removed.
  • callback Function The callback to remove.
  • target Object The target (this object) to invoke the callback, if it's not given, only callback without target will be removed
示例
// register fire eventListener
var callback = eventTarget.on('fire', function () {
    cc.log("fire in the hole");
}, target);
// remove fire event listener
eventTarget.off('fire', callback, target);
// remove all fire event listeners
eventTarget.off('fire');
targetOff

在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。

meta description
定义于 cocos2d/core/event/event-target.js:150
参数列表
  • target Object The target to be searched for all related listeners
once

注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

meta description
定义于 cocos2d/core/event/event-target.js:163
参数列表
  • type String A string representing the event type to listen for.
  • callback Function The callback that will be invoked when the event is dispatched.
                           The callback is ignored if it is a duplicate (the callbacks are unique).
    
    • arg1 Any arg1
    • arg2 Any arg2
    • arg3 Any arg3
    • arg4 Any arg4
    • arg5 Any arg5
  • target Object The target (this object) to invoke the callback, can be null
示例
eventTarget.once('fire', function () {
    cc.log("this is the callback and will be invoked only once");
}, node);
emit

通过事件名发送自定义事件

meta description
定义于 cocos2d/core/event/event-target.js:200
参数列表
  • type String event type
  • arg1 Any First argument
  • arg2 Any Second argument
  • arg3 Any Third argument
  • arg4 Any Fourth argument
  • arg5 Any Fifth argument
示例
eventTarget.emit('fire', event);
eventTarget.emit('fire', message, emitter);
dispatchEvent

通过事件对象派发事件

meta description
定义于 cocos2d/core/event/event-target.js:220
参数列表

条与 "" 相匹配的结果

    没有与 "" 匹配的结果