Matter.js之Bodies刚体工厂模块

本文最后更新于:1 年前

Matter.Bodies模块包含创建常见配置的刚体模型的工厂方法。(例如,矩形,圆形和其他多边形)。

方法

circle

Matter.Bodies.circle(x, y, radius, [options], [maxSides]) → Body

创建一个新的圆刚体模型,其中包含一个圆形质体。通过给定的选项参数对象options,您可以覆盖默认值。有关详细信息,请参阅Matter.Body模块的属性部分。

参数

名称 类型 默认值 说明
x number 圆心的x坐标
y number 圆心的y坐标
radius number 圆的半径
options object 刚体选项
maxSides number 最大边数

返回值

返回一个点数组,其中每个点是一个向量。

名称 类型 说明
Body Body

fromVertices

Matter.Bodies.fromVertices(x, y, vertexSets, [options], [flagInternal=false], [removeCollinear=0.01], [minimumArea=10], [removeDuplicatePoints=0.01]) → Body

基于顶点集创建一个复合体的实用工具。
注意:要选择自动解决凹面积的复合体,必须先安装poly-decomp包,并且查看提供的Common.setDecomp方法,否则将使用每个顶点集的凸包。
生成的顶点将重新定位关于质心,并且偏移,以便body.position对应于此点。
如果需要的话,可以通过从原始输入边界中减去body.bounds来找到偏移。要移动质心,请参阅Body.setCentre。
请注意,自动解决凹面积的复合体结果不是总是最佳的。为了获得最佳结果,请首先尽可能简化输入顶点。默认情况下,此方法将应用一些额外简化来帮助。
一些输出也可能需要在最后处理以保持其容错性。特别是,一些部分可能需要重叠以避免碰撞间隙。薄的部分和锐利的点应该避免或删除,如果可能的话。
选项参数对象指定要覆盖默认值的任何Matter.Body属性。
请参见Matter.Body模块的属性部分以获取更多信息。

参数

名称 类型 默认值 说明
x number x坐标
y number y坐标
vertexSets array 顶点集
options object 刚体选项
flagInternal boolean false 是否为内部顶点
removeCollinear number 0.01 删除具有相同值的顶点
minimumArea number 10 删除小于此面积的复合体
removeDuplicatePoints number 0.01 删除重复点

返回值

返回一个点数组,其中每个点是一个向量。

名称 类型 说明
Body Body

polygon

Matter.Bodies.polygon(x, y, sides, radius, [options]) → Body

创建一个新的刚体模型,其中包含给定边数的常规多边形舱体。选项参数是一个对象,它指定任何要覆盖默认值的任何属性。请参阅Matter.Body模块的属性部分以获取更多信息。

参数

名称 类型 默认值 说明
x number x坐标
y number y坐标
sides number 边数
radius number 半径
options object 刚体选项

返回值

返回一个点数组,其中每个点是一个向量。

名称 类型 说明
Body Body

rectangle

Matter.Bodies.rectangle(x, y, width, height, [options]) → Body

创建一个新的矩形刚体模型,其中包含给定宽度和高度的矩形舱体。选项参数是一个对象,它指定任何要覆盖默认值的任何属性。请参阅Matter.Body模块的属性部分以获取更多信息。

参数

名称 类型 默认值 说明
x number x坐标
y number y坐标
width number 宽度
height number 高度
options object 刚体选项

返回值

返回一个点数组,其中每个点是一个向量。

名称 类型 说明
Body Body

trapezoid

Matter.Bodies.trapezoid(x, y, width, height, slope, [options]) → Body

创建一个新的梯形刚体模型,其中包含给定宽度和高度的梯形舱体。选项参数是一个对象,它指定任何要覆盖默认值的任何属性。请参阅Matter.Body模块的属性部分以获取更多信息。

参数

名称 类型 默认值 说明
x number x坐标
y number y坐标
width number 宽度
height number 高度
slope number 坡度
options object 刚体选项

返回值

返回一个点数组,其中每个点是一个向量。

名称 类型 说明
Body Body