• PhysicsManager 类型
    • 索引
      • 属性(properties)
      • 方法
  • Details
    • 属性(properties)
      • DrawBits
      • 示例
      • PTM_RATIO
      • VELOCITY_ITERATIONS
      • POSITION_ITERATIONS
      • FIXED_TIME_STEP
      • MAX_ACCUMULATOR
      • enabledAccumulator
      • enabled
      • debugDrawFlags
      • 示例
      • gravity
        • 参数列表
      • testAABB
        • 参数列表
      • rayCast
        • 参数列表
      • hasEventListener
        • 参数列表
      • on
        • 参数列表
      • 示例
      • off
        • 参数列表
      • 示例
      • targetOff
        • 参数列表
      • once
        • 参数列表
      • 示例
      • emit
        • 参数列表
      • 示例
      • dispatchEvent
        • 参数列表

    PhysicsManager 类型

    模块: cc

    物理系统将 box2d 作为内部物理系统,并且隐藏了大部分 box2d 实现细节(比如创建刚体,同步刚体信息到节点中等)。你可以通过物理系统访问一些 box2d 常用的功能,比如点击测试,射线测试,设置测试信息等。物理系统还管理碰撞信息的分发,她会在产生碰撞时,将碰撞信息分发到各个碰撞回调中。注意:你需要先在刚体中开启碰撞接听才会产生相应的碰撞回调。

    索引

    属性(properties)
    • DrawBits DrawBits 指定物理系统需要绘制哪些调试信息。
    • PTM_RATIO Number 物理单位与像素单位互相转换的比率,一般是 32。
    • VELOCITY_ITERATIONS Number 速度更新迭代数
    • POSITION_ITERATIONS Number 位置迭代更新数
    • FIXED_TIME_STEP Number 指定固定的物理更新间隔时间,需要开启 enabledAccumulator 才有效。
    • MAX_ACCUMULATOR Number 每次可用于更新物理系统的最大时间,需要开启 enabledAccumulator 才有效。
    • enabledAccumulator Boolean 如果开启此选项,那么将会以固定的间隔时间 FIXED_TIME_STEP 来更新物理引擎,如果一个 update 的间隔时间大于 FIXED_TIME_STEP,则会对物理引擎进行多次更新。
    • enabled Boolean 指定是否启用物理系统?
    • debugDrawFlags Number 设置调试绘制标志
    • gravity Vec2 物理世界重力值
    方法
    • testPoint 获取包含给定世界坐标系点的碰撞体
    • testAABB 获取与给定世界坐标系矩形相交的碰撞体
    • rayCast 检测哪些碰撞体在给定射线的路径上,射线检测将忽略包含起始点的碰撞体。
    • hasEventListener 检查事件目标对象是否有为特定类型的事件注册的回调。
    • on 注册事件目标的特定事件类型回调。
    • off 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
    • targetOff 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
    • once 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。
    • emit 通过事件名发送自定义事件
    • dispatchEvent 通过事件对象派发事件

    Details

    属性(properties)

    DrawBits
    指定物理系统需要绘制哪些调试信息。
    metadescription
    类型DrawBits
    定义于cocos2d/core/physics/CCPhysicsManager.js:67
    示例
    1. cc.director.getPhysicsManager().debugDrawFlags =
    2. // cc.PhysicsManager.DrawBits.e_aabbBit |
    3. // cc.PhysicsManager.DrawBits.e_pairBit |
    4. // cc.PhysicsManager.DrawBits.e_centerOfMassBit |
    5. cc.PhysicsManager.DrawBits.e_jointBit |
    6. cc.PhysicsManager.DrawBits.e_shapeBit;
    PTM_RATIO
    物理单位与像素单位互相转换的比率,一般是 32。
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:85
    VELOCITY_ITERATIONS
    速度更新迭代数
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:95
    POSITION_ITERATIONS
    位置迭代更新数
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:106
    FIXED_TIME_STEP
    指定固定的物理更新间隔时间,需要开启 enabledAccumulator 才有效。
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:117
    MAX_ACCUMULATOR
    每次可用于更新物理系统的最大时间,需要开启 enabledAccumulator 才有效。
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:129
    enabledAccumulator
    如果开启此选项,那么将会以固定的间隔时间 FIXED_TIME_STEP 来更新物理引擎,如果一个 update 的间隔时间大于 FIXED_TIME_STEP,则会对物理引擎进行多次更新。如果关闭此选项,那么将会根据设定的 frame rate 计算出一个间隔时间来更新物理引擎。
    metadescription
    类型Boolean
    定义于cocos2d/core/physics/CCPhysicsManager.js:160
    enabled
    指定是否启用物理系统?
    metadescription
    类型Boolean
    定义于cocos2d/core/physics/CCPhysicsManager.js:550
    debugDrawFlags
    设置调试绘制标志
    metadescription
    类型Number
    定义于cocos2d/core/physics/CCPhysicsManager.js:578
    示例
    1. // enable all debug draw info
    2. var Bits = cc.PhysicsManager.DrawBits;
    3. cc.director.getPhysicsManager().debugDrawFlags = Bits.e_aabbBit |
    4. Bits.e_pairBit |
    5. Bits.e_centerOfMassBit |
    6. Bits.e_jointBit |
    7. Bits.e_shapeBit;
    8. // disable debug draw info
    9. cc.director.getPhysicsManager().debugDrawFlags = 0;
    gravity
    物理世界重力值
    metadescription
    类型Vec2
    定义于cocos2d/core/physics/CCPhysicsManager.js:625



    #### 方法



    ##### testPoint


    获取包含给定世界坐标系点的碰撞体

    metadescription
    返回PhysicsCollider
    定义于cocos2d/core/physics/CCPhysicsManager.js:237
    参数列表
    • point Vec2 the world point
    testAABB

    获取与给定世界坐标系矩形相交的碰撞体

    metadescription
    返回[PhysicsCollider]
    定义于cocos2d/core/physics/CCPhysicsManager.js:268
    参数列表
    • rect Rect the world rect
    rayCast

    检测哪些碰撞体在给定射线的路径上,射线检测将忽略包含起始点的碰撞体。

    metadescription
    返回[PhysicsRayCastResult]
    定义于cocos2d/core/physics/CCPhysicsManager.js:295
    参数列表
    • p1 Vec2 start point of the raycast
    • p2 Vec2 end point of the raycast
    • type RayCastType optional, default is RayCastType.Closest
    hasEventListener

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

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

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

    metadescription
    返回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.
    1. 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
    示例
    1. eventTarget.on('fire', function () {
    2. cc.log("fire in the hole");
    3. }, node);
    off

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

    metadescription
    定义于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
    示例
    1. // register fire eventListener
    2. var callback = eventTarget.on('fire', function () {
    3. cc.log("fire in the hole");
    4. }, target);
    5. // remove fire event listener
    6. eventTarget.off('fire', callback, target);
    7. // remove all fire event listeners
    8. eventTarget.off('fire');
    targetOff

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

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

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

    metadescription
    定义于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.
    1. 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
    示例
    1. eventTarget.once('fire', function () {
    2. cc.log("this is the callback and will be invoked only once");
    3. }, node);
    emit

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

    metadescription
    定义于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
    示例
    1. eventTarget.emit('fire', event);
    2. eventTarget.emit('fire', message, emitter);
    dispatchEvent

    通过事件对象派发事件

    metadescription
    定义于cocos2d/core/event/event-target.js:220
    参数列表
    • event Event