Matter

.Physics. Matter

Type Definitions

MatterBody

Since:
  • 3.22.0
Type:

MatterBodyConfig

Since:
  • 3.22.0
Properties:
Name Type Attributes Default Description
label string <optional>
'Body' 一个任意的基于字符串的名称,用于帮助识别该正文.
parts Array.<MatterJS.BodyType> <optional>
组成这个身体的一系列身体.数组中的第一个主体必须始终是当前主体实例的自引用. `parts` 阵列中的所有物体一起形成单个刚性复合物体.
plugin any <optional>
为存储插件特定属性而保留的对象.
angle number <optional>
0 以弧度为单位指定身体角度的数字.
vertices Array.<Phaser.Types.Math.Vector2Like> <optional>
null 指定刚体凸包的 `Vector` 对象数组.这些应该提供关于原点 `(0,0)` 的信息.
position Phaser.Types.Math.Vector2Like <optional>
指定身体当前世界空间位置的 `Vector` .
force Phaser.Types.Math.Vector2Like <optional>
指定在当前步骤中要施加的力的 `Vector` .它在每个 `Body.update` 后归零.另请参见 `Body.applyForce` .
torque number <optional>
0 指定在当前步骤中应用的扭矩(转动力)的 `Number` .它在每个 `Body.update` 后归零.
isSensor boolean <optional>
false 指示物体是否是传感器的标志.传感器触发碰撞事件,但不与碰撞物体发生物理反应.
isStatic boolean <optional>
false 一种标志,指示一个实体是否被认为是静态的.静止的物体永远不会改变位置或角度,并且是完全固定的.
sleepThreshold number <optional>
60 一个 `Number` ,它定义了在被 `Matter .嗜睡` 模块设置为睡眠之前,该身体必须具有接近零的速度的更新次数(如果睡眠是由引擎启用的).
density number <optional>
0.001 一个定义物体密度的 `number` ,也就是它每单位面积的质量.如果您通过 `Body.create` 传递密度,将根据对象的大小(面积)自动计算 `mass` 属性.这通常比简单地设定质量更可取,并且允许更直观地定义材料(例如.岩石的密度比木头高).
restitution number <optional>
0 定义身体恢复(弹性)的 `Number` .该值始终为正值,并且在范围 `(0,1)` 内.
friction number <optional>
0.1 一个定义身体摩擦力的 `number` .该值始终为正值,并且在范围 `(0,1)` 内. `0` 的值表示身体可以无限滑行. `1` 值表示物体在受到力的作用后可能几乎立即停止.
frictionStatic number <optional>
0.5 定义物体静摩擦力的 `Number` (在库仑摩擦模型中). `0` 的值意味着当身体几乎静止时,它将永远不会 `stick` ,而只使用动态的 `friction` .该值越高(例如. `10` ),当身体几乎静止时,最初使身体移动所需的力越大.该值与 `friction` 属性相乘,以便更容易更改 `friction` 并保持适当的静摩擦力.
frictionAir number <optional>
0.01 定义身体空气摩擦力(空气阻力)的 `Number` . `0` 的值意味着身体在空间中移动时永远不会变慢.数值越高,物体在空间运动时速度越慢.
collisionFilter Phaser.Types.Physics.Matter.MatterCollisionFilter <optional>
一个 `Object` ,指定该实体的碰撞过滤属性.
slop number <optional>
0.05 一种 `Number` ,它规定了一个物体可以 `sink` 或旋转到其他物体中的公差.除非你明白物理引擎中 `slop` 的用途,否则避免改变这个值.默认设置通常就足够了,尽管非常大的物体可能需要更大的值才能稳定堆叠.
timeScale number <optional>
1 `Number` 允许按身体时间缩放,例如.一种力场,其中内部物体处于慢动作状态,而其他物体处于全速状态.
chamfer number | Array.<number> | Phaser.Types.Physics.Matter.MatterChamferConfig <optional>
null 对实体顶点进行倒角的数字或数字数组,或完整的倒角配置对象.
circleRadius number <optional>
0 这个物体的半径如果是圆.
mass number <optional>
0 定义物体质量的 `Number` ,尽管指定 `DY` 属性可能更合适.如果修改此值,还必须修改 `body.inverseMass` 属性( `1 / mass` ).
inverseMass number <optional>
0 一个定义物体反质量的 `number` ( `1/mass` ).如果修改此值,还必须修改 `body.mass` 属性.
scale Phaser.Types.Math.Vector2Like <optional>
指定身体初始比例的 `Vector` .
gravityScale Phaser.Types.Math.Vector2Like <optional>
当应用到这个物体上时,它能衡量世界引力的影响.
ignoreGravity boolean <optional>
false 一个布尔值,它切换这个物体是否应该忽略世界引力.
ignorePointer boolean <optional>
false 一个布尔值,用于切换该实体是否应忽略指针/鼠标约束.
render Phaser.Types.Physics.Matter.MatterBodyRenderConfig <optional>
此主体的调试呈现配置对象.
onCollideCallback function <optional>
当此实体开始与任何其他实体冲突时调用的回调.您可以通过提供类型为 `( pair: Matter)的函数来注册回调.Pair) => void` .
onCollideEndCallback function <optional>
当此实体停止与任何其他实体碰撞时调用的回调.您可以通过提供类型为 `( pair: Matter)的函数来注册回调.Pair) => void` .
onCollideActiveCallback function <optional>
在该物体与任何其他物体碰撞期间调用的回调.您可以通过提供类型为 `( pair: Matter)的函数来注册回调.Pair) => void` .
onCollideWith any <optional>
`Body.setOnCollideWith` 函数使用的冲突回调字典.
Type:
  • object

MatterBodyRenderConfig

Since:
  • 3.22.0
Properties:
Name Type Attributes Default Description
visible boolean <optional>
true 这个主体应该由调试渲染器渲染吗?
opacity number <optional>
1 身体及其所有部分的不透明性.
fillColor number <optional>
渲染此实体时填充的颜色值.
fillOpacity number <optional>
渲染此实体时填充的不透明度,介于0和1之间的值.
lineColor number <optional>
渲染此主体时线条的颜色值.
lineOpacity number <optional>
渲染此几何体时线条的不透明度,介于0和1之间的值.
lineThickness number <optional>
如果渲染线条,线条的粗细.
sprite object <optional>
控制主体和父游戏对象之间的偏移(如果有).
Properties
Name Type Attributes Default Description
xOffset number <optional>
0 主体和父游戏对象纹理之间的水平偏移(如果有).
yOffset number <optional>
0 主体和父游戏对象纹理之间的垂直偏移(如果有).
Type:
  • object

MatterBodyTileOptions

Since:
  • 3.0.0
Properties:
Name Type Attributes Default Description
isStatic boolean <optional>
true 新创建的实体是否应该是静态的.这默认为真,因为通常不应该移动切片.
addToWorld boolean <optional>
true 是否将新创建的实体(或现有的实体,如果使用了选项. body)添加到物质世界.
Type:
  • object

MatterChamferConfig

Since:
  • 3.22.0
Properties:
Name Type Attributes Default Description
radius number | Array.<number> <optional>
8 单个数字或数组,用于指定每个顶点的半径.
quality number <optional>
-1 倒角的质量.-1表示 `auto` .
qualityMin number <optional>
2 倒角的最低质量.该值越高,创建的顶点越多.
qualityMax number <optional>
14 倒角的最高质量.该值越高,创建的顶点越多.
Type:
  • object

MatterCollisionData

Since:
  • 3.22.0
Properties:
Name Type Description
collided boolean 这一对到底有没有相撞?
bodyA MatterJS.BodyType 涉及到碰撞的第一个物体.
bodyB MatterJS.BodyType 涉及碰撞的第二个物体.
axisBody MatterJS.BodyType 对主轴体的引用.
axisNumber number 主碰撞轴向量的索引(边法线)
depth number 最小重叠上的碰撞深度.
parentA MatterJS.BodyType 对正文A的父级的引用,如果正文A没有父级,则引用正文A本身.
parentB MatterJS.BodyType 对主体B的父对象的引用,如果主体B没有父对象,则引用主体B本身.
normal MatterJS.Vector 碰撞是正常的,背向车身.
tangent MatterJS.Vector 碰撞法线的切线.
penetration MatterJS.Vector 两个物体之间的穿透距离.
supports Array.<MatterJS.Vector> 一组支撑点,可以是一个点,也可以是两个点.
inverseMass number 碰撞产生的反质量.
friction number 碰撞产生的摩擦力.
frictionStatic number 碰撞产生的静摩擦力.
restitution number 碰撞造成的赔偿.
slop number 碰撞产生的泥浆.
Type:
  • object

MatterCollisionFilter

Since:
  • 3.22.0
Properties:
Name Type Attributes Default Description
category number <optional>
0x0001 一个位字段,指定该物体所属的碰撞类别.类别值应该只有一个位设置,例如 `0x0001` .这意味着最多有32个独特的碰撞类别可用.
mask number