API Docs for: 0.7.1
Show:

Capsule Class

Extends Shape

胶囊状类

构造器

Capsule

(
  • [options]
)

参数:

  • [options] Object 可选

    (注意:这一参数将传入 Shape 的构造器)

    • [length=1] Number 可选

      端点之间的距离

    • [radius=1] Number 可选

      胶囊的半径

Example:

var capsuleShape = new Capsule({
            length: 1,
            radius: 2
        });
        body.addShape(capsuleShape);
        

Methods

computeAABB

(
  • out
  • position
  • angle
)

Inherited from Shape but overwritten in src/shapes/Capsule.js:80

参数:

  • out AABB

    由此产生的AABB 包围盒

  • position Array
  • angle Number

computeMomentOfInertia

(
  • mass
)
Number

Inherited from Shape: src/shapes/Shape.js:200

返回围绕给定了质量的刚体的Z轴的转动惯量. 参见维基百科.

参数:

  • mass Number

Returns:

Number:

如果惯性是无穷的或这一物体不可能旋转,则返回0

conputeMomentOfInertia

(
  • mass
)
Number

计算质量惯性矩

参数:

  • mass Number

Returns:

Number:

raycast

(
  • result
  • ray
  • position
  • angle
)

Inherited from Shape but overwritten in src/shapes/Capsule.js:112

参数:

updateArea

()

Inherited from Shape but overwritten in src/shapes/Capsule.js:71

updateBoundingRadius

()

Inherited from Shape but overwritten in src/shapes/Capsule.js:64

Properties

angle

Number

Inherited from Shape: src/shapes/Shape.js:36

基于刚体的角度

area

Number

Inherited from Shape: src/shapes/Shape.js:123

形状的面积

body

Body

Inherited from Shape: src/shapes/Shape.js:21

形状依附的刚体,一个形状只能依附在一个刚体上

boundingRadius

Number

Inherited from Shape: src/shapes/Shape.js:65

形状的包围半径

collisionGroup

Number

Inherited from Shape: src/shapes/Shape.js:72

形状所属的碰撞分组(位掩码). 参见 这一教程.

Example:

// Setup bits for each available group
                    var PLAYER = Math.pow(2,0),
                        ENEMY =  Math.pow(2,1),
                        GROUND = Math.pow(2,2)
                    
                     // 为形状设置分组
                    player1Shape.collisionGroup = PLAYER;
                    player2Shape.collisionGroup = PLAYER;
                    enemyShape  .collisionGroup = ENEMY;
                    groundShape .collisionGroup = GROUND;
                    
                    // 为形状设置对应的碰撞分组,下例表明玩家(PLAYER) 只会和地面(GROUND)和敌人(ENEMY)碰撞,而不会与其他玩家碰撞
                    // 注意分隔符为单个 | 而不是或 ||
                    player1Shape.collisionMask = ENEMY | GROUND;
                    player2Shape.collisionMask = ENEMY | GROUND;
                    enemyShape  .collisionMask = PLAYER | GROUND;
                    groundShape .collisionMask = PLAYER | ENEMY;
                    
// 碰撞检测的原理
                    if(shapeA.collisionGroup & shapeB.collisionMask)!=0 && (shapeB.collisionGroup & shapeA.collisionMask)!=0){
                        // The shapes will collide
                    }
                    

collisionMask

Number

Inherited from Shape: src/shapes/Shape.js:109

碰撞掩码,参见 .collisionGroup.

collisionResponse

Boolean

Inherited from Shape: src/shapes/Shape.js:103

当与其他刚体碰撞时是否产生碰撞作用力。需要注意的是,碰撞仍会产生,但会被禁用。即:该刚体会穿过其他刚体,但仍然会触发碰撞等事件。

id

Number

Inherited from Shape: src/shapes/Shape.js:58

形状的唯一标志符

length

Number

端点之间的距离

material

Material

Inherited from Shape: src/shapes/Shape.js:116

用于碰撞的材质,如果这被设置为null, 在物理世界中将使用默认材质替代

position

Array

Inherited from Shape: src/shapes/Shape.js:27

基于刚体的位置

radius

Number

胶囊的半径.

sensor

Boolean

Inherited from Shape: src/shapes/Shape.js:130

如果你希望此形状为传感器,则设置为true。传感器不会产生碰撞,但仍会上报碰撞事件。它在你想在不产生碰撞的情况下知道这一形状是否与其他形状重叠的情况下很实用

type

Number

Inherited from Shape: src/shapes/Shape.js:42