跳到主要内容

Body

描述:

  物理世界中的物理体类。

类对象:Body Class

继承自:Node

world

类型: 只读成员变量。

描述:

  物理体所属的物理世界。

签名:

const world: PhysicsWorld

bodyDef

类型: 只读成员变量。

描述:

  物理体的定义。

签名:

const bodyDef: BodyDef

mass

类型: 只读成员变量。

描述:

  物理体的质量。

签名:

const mass: number

sensor

类型: 只读成员变量。

描述:

  物理体是否被用作传感器。

签名:

const sensor: boolean

velocityX

类型: 成员变量。

描述:

  物理体的 x 轴速度。

签名:

velocityX: number

velocityY

类型: 成员变量。

描述:

  物理体的 y 轴速度。

签名:

velocityY: number

velocity

类型: 成员变量。

描述:

  “Vec2”对象表示的物理体的速度。

签名:

velocity: Vec2

angularRate

类型: 成员变量。

描述:

  物理体的角速率。

签名:

angularRate: number

group

类型: 成员变量。

描述:

  物理体所属的碰撞组编号。

签名:

group: integer

linearDamping

类型: 成员变量。

描述:

  物理体的线性阻尼。

签名:

linearDamping: number

angularDamping

类型: 成员变量。

描述:

  物理体的旋转阻尼。

签名:

angularDamping: number

owner

类型: 成员变量。

描述:

  物理体的所有者。

签名:

owner: Object

receivingContact

类型: 成员变量。

描述:

  物理体当前是否会接收碰撞接触事件。

签名:

receivingContact: boolean

applyLinearImpulse

类型: 函数。

描述:

  在指定位置对物理体施加线性冲量。

签名:

applyLinearImpulse: function(self: Body, impulse: Vec2, pos: Vec2)

参数:

参数名类型描述
impulseVec2要施加的线性冲量。
posVec2施加冲量的位置。

applyAngularImpulse

类型: 函数。

描述:

  对物理体施加角冲量。

签名:

applyAngularImpulse: function(self: Body, impulse: number)

参数:

参数名类型描述
impulsenumber要施加的角冲量。

removeSensorByTag

类型: 函数。

描述:

  从物理体中移除具有指定标签的传感器。

签名:

removeSensorByTag: function(self: Body, tag: integer): boolean

参数:

参数名类型描述
taginteger要移除的传感器的标签编号。

返回值:

返回类型描述
boolean是否找到并删除具有指定标签的传感器。

attach

类型: 函数。

描述:

  将混合物添加到物理体上。

签名:

attach: function(self: Body, fixtureDef: FixtureDef)

参数:

参数名类型描述
fixtureDefFixtureDef要添加的混合物的定义。

getSensorByTag

类型: 函数。

描述:

  获取具有特定标签编号的传感器。

签名:

getSensorByTag: function(self: Body, tag: integer): Sensor

参数:

参数名类型描述
taginteger要获取的传感器的标签编号。

返回值:

返回类型描述
Sensor具有给定标签的传感器。

removeSensor

类型: 函数。

描述:

  从物理体的传感器列表中移除特定的传感器。

签名:

removeSensor: function(self: Body, sensor: Sensor): boolean

参数:

参数名类型描述
sensorSensor要移除的传感器。

返回值:

返回类型描述
boolean如果成功删除传感器,则为true,否则为false。

attachSensor

类型: 函数。

描述:

  将具有特定标签编号和混合物定义的新传感器添加到物理体上。

签名:

attachSensor: function(self: Body, tag: integer, fixtureDef: FixtureDef): Sensor

参数:

参数名类型描述
taginteger要添加的传感器的标签编号。
fixtureDefFixtureDef传感器的混合物定义。

返回值:

返回类型描述
Sensor新建的传感器。

onContactFilter

类型: 函数。

描述:

  注册一个函数,该函数在物理体与其他物理体发生碰撞时被调用。 当注册的函数返回false时,物理体将不会触发本次的碰撞事件。

签名:

onContactFilter: function(self: Body, filter: function(other: Body): boolean)

参数:

参数名类型描述
filterfunction碰撞过滤器函数。

onBodyEnter

类型: 函数。

描述:

  注册一个函数,当物理体进入传感器时被调用。

签名:

onBodyEnter: function(self: Body, callback: function(other: Body, sensorTag: integer))

参数:

参数名类型描述
callbackfunction物理体进入传感器时的回调函数。

onBodyLeave

类型: 函数。

描述:

  注册一个函数,当物理体离开传感器时被调用。

签名:

onBodyLeave: function(self: Body, callback: function(other: Body, sensorTag: integer))

参数:

参数名类型描述
callbackfunction物理体离开传感器时的回调函数。

onContactStart

类型: 函数。

描述:

  注册一个函数,当物理体开始与另一个物体发生碰撞时被调用。 该函数将设置receivingContact属性为true。

签名:

onContactStart: function(self: Body, callback: function(other: Body, point: Vec2, normal: Vec2, enabled: boolean))

参数:

参数名类型描述
callbackfunction物理体开始与另一个物体发生碰撞时的回调函数。

onContactEnd

类型: 函数。

描述:

  注册一个函数,当物理体停止与另一个物体发生碰撞时被调用。 该函数将设置receivingContact属性为true。

签名:

onContactEnd: function(self: Body, callback: function(other: Body, point: Vec2, normal: Vec2))

参数:

参数名类型描述
callbackfunction物理体停止与另一个物体发生碰撞时的回调函数。