Box Class
矩形(盒状)类
构造器
Box
(
-
[options]
参数:
-
[options]Object 可选(注意:这一参数将传入 Shape 的构造器)
-
[width=1]Number 可选矩形的总宽
-
[height=1]Number 可选矩形的总长
-
项目索引
方法
Methods
computeMomentOfInertia
(
Number
-
mass
计算转动惯量
参数:
-
massNumber
Returns:
Number:
raycast
(
-
result -
ray -
position -
angle
光线投射
参数:
-
resultRaycastResult -
rayRay -
positionArray -
angleNumber
updateArea
()
更新 .area 属性
updateBoundingRadius
()
更新包围半径
updateCenterOfMass
()
更新 .centerOfMass 属性
updateTriangles
()
更新 .triangles 属性
Properties
angle
Number
基于刚体的角度
area
Number
形状的面积
axes
Array
基于框架的坐标轴
boundingRadius
Number
这个多边形的包围半径
centerOfMass
Array
多边形的重心
collisionGroup
Number
形状所属的碰撞分组(位掩码). 参见 这一教程.
Example:
// 为各个可用分组设置位
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
碰撞掩码,参见 .collisionGroup.
collisionResponse
Boolean
当与其他刚体碰撞时是否产生碰撞作用力。需要注意的是,碰撞仍会产生,但会被禁用。即:该刚体会穿过其他刚体,但仍然会触发碰撞等事件。
height
Number
矩形的总长
id
Number
形状的唯一标志符
position
Array
基于刚体的位置
sensor
Boolean
如果你希望此形状为传感器,则设置为true。传感器不会产生碰撞,但仍会上报碰撞事件。它在你想在不产生碰撞的情况下知道这一形状是否与其他形状重叠的情况下很实用
triangles
Array
这个多边形的三角剖分,结构为包含3个数组的一个数组,每个子数组包含3个指代顶点的整数
type
Number
vertices
Array
基于刚体的顶点
width
Number
矩形的总宽
