World

.Physics.Matter. World

物质世界类负责管理相位器物质物理世界的一个单一实例. 从一个场景中通过`这个.物质.世界`访问它. 这个类在实例化期间创建了一个物质JS世界复合和物质JS引擎.它还 处理增量计时,边界,主体和约束创建以及调试绘图. 如果您希望直接访问物质JS世界对象,请参见 `localWorld` 属性. 如果您希望直接访问事件引擎,请参见 `engine` 属性. 这个类是一个事件发射器,将代理接收到的所有事件.

Constructor

new World(scene, config)

Since:
  • 3.0.0
Parameters:
Name Type Description
scene Phaser.Scene 物质世界实例所属的场景.
config Phaser.Types.Physics.Matter.MatterWorldConfig 物质世界配置对象.

Extends

Members

autoUpdate :boolean

Since:
  • 3.4.0
Default Value:
  • true
自动调用引擎.每次游戏开始时更新. 如果您禁用此功能,那么您有责任从您的游戏中直接调用 `World.step` . 如果您调用 `set60Hz` 或 `set30Hz` ,则 `autoUpdate` 被重置为 `true` .
Type:
  • boolean

correction :number

Since:
  • 3.4.0
Default Value:
  • 1
校正参数是一个可选数字,它指定应用于更新的时间校正系数. 这有助于在增量在更新之间发生变化的情况下提高模拟的准确性. 修正值定义为增量/最后增量,即.上一步中增量的百分比变化. 因此,当增量恒定时(或当不需要校正时,这是默认值),该值始终为1(无校正). 更多信息,请参阅《时间修正的Verlet》一文.
Type:
  • number

debugConfig :Phaser.Types.Physics.Matter.MatterDebugConfig

Since:
  • 3.22.0
调试配置对象. 存储在该对象中的值是从物质世界配置 `debug` 属性中读取的. 当一个新的实体或约束被添加到世界时,它们被赋予存储在这个对象中的值, 除非他们有自己的 `render` 对象集来覆盖它们. 请注意,虽然您可以在运行时修改此对象中的属性值,但它不会改变 任何已添加的事件对象.它只会影响新添加到世界上的对象,或者一个 它被删除,然后在以后重新添加.
Type:

debugGraphic :Phaser.GameObjects.Graphics

Since:
  • 3.0.0
调试主体绘制到的图形对象的实例(如果启用).
Type:

drawDebug :boolean

Since:
  • 3.0.0
Default Value:
  • false
一个标志,用于控制是否将调试图形绘制到.
Type:
  • boolean

enabled :boolean

Since:
  • 3.0.0
Default Value:
  • true
一个标志,用于切换世界是否启用.
Type:
  • boolean

engine :MatterJS.Engine

Since:
  • 3.0.0
MatterJS引擎的一个实例.
Type:
  • MatterJS.Engine

getDelta :function

Since:
  • 3.4.0
每次核心游戏循环步骤都调用此函数,该函数绑定到 除非另有修改,否则请求动画帧频率. 该函数被传递了两个值: `time` 和 `delta` ,这两个值都来自游戏步骤值. 它必须返回一个数字.此数字用作传递给Matter.Engine.update的增量值. 您可以用自己的函数覆盖此函数,以定义自己的时间步长. 如果您需要在一个游戏步骤中多次更新引擎,请致电 `World.update` 根据需要多次.每次调用都会触发 `getdelta` 函数. 如果您希望完全控制引擎何时更新,请查看属性 `autoUpdate` . 您还可以调整引擎更新执行的迭代次数. 使用场景物质物理配置对象来设置以下属性: 位置迭代(默认为6) 速度迭代(默认为4) 约束迭代(默认为2) 根据物理要求,调整这些值有助于某些情况下的性能 你的游戏.
Type:
  • function

localWorld :MatterJS.World

Since:
  • 3.0.0
一个包含所有模拟物体和约束的合成物体.
Type:
  • MatterJS.World

runner :Phaser.Types.Physics.Matter.MatterRunnerConfig

Since:
  • 3.22.0
事件JS运行器配置对象. 此对象是通过事件配置对象的 `runner` 属性填充的 在游戏中不断更新.
Type:

scene :Phaser.Scene

Since:
  • 3.0.0
物质世界实例所属的场景.
Type:

walls :object

Since:
  • 3.0.0
一个包含4个束缚物理世界的墙体的物体.
Type:
  • object

Methods

add(object) → {this}

Since:
  • 3.0.0
向世界添加一个物质JS对象或对象数组. 对象应该是有效的实体,如实体,复合或约束. 触发 `beforeAdd` 和 `afterAdd` 事件.
Parameters:
Name Type Description
object object | Array.<object> 可以是单个对象或数组,也可以是实体,组合或约束.
Returns:
这个物质世界对象.
Type
this

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

convertTilemapLayer(tilemapLayer, optionsopt) → {this}

Since:
  • 3.0.0
为给定tilemap层中的所有碰撞图块添加 `MatterTileBody` 实例. 在调用此方法之前,请在您的图层中设置适当的图块进行碰撞!
Parameters:
Name Type Attributes Description
tilemapLayer Phaser.Tilemaps.TilemapLayer 一排瓷砖.
options object <optional>
传递给MatterTileBody构造函数的选项.{@see Phaser.Physics.Matter.TileBody}
Returns:
这个物质世界对象.
Type
this

convertTiles(tiles, optionsopt) → {this}

Since:
  • 3.0.0
为给定的切片添加 `MatterTileBody` 实例.无论 瓷砖设置为碰撞或不碰撞.
Parameters:
Name Type Attributes Description
tiles Array.<Phaser.Tilemaps.Tile> 一排瓷砖.
options object <optional>
传递给MatterTileBody构造函数的选项.{@see Phaser.Physics.Matter.TileBody}
Returns:
这个物质世界对象.
Type
this

create(x, y, width, height, options) → {MatterJS.BodyType}

Since:
  • 3.0.0
创建一个矩形物质体并将其添加到世界中.
Parameters:
Name Type Description
x number 身体在世界上的水平位置.
y number 身体在世界上的垂直位置.
width number 身体的宽度.
height number 身体的高度.
options object 可选物质配置对象.
Returns:
创建的物质. js主体.
Type
MatterJS.BodyType

createDebugGraphic() → {Phaser.GameObjects.Graphics}

Since:
  • 3.0.0
创建相位器.图形对象,用于渲染所有调试主体和关节. 如果已启用调试,此方法由构造函数自动调用. 创建的图形对象在0x0处自动添加到场景中, 所以它在场景中渲染高于一切. 图形对象被分配给该类的 `debugGraphic` 属性,并启用 `drawDebug` .
Returns:
新创建的图形对象.
Type
Phaser.GameObjects.Graphics

destroy()

Since:
  • 3.0.0
Overrides:
将移除所有物质物理事件监听器,清理物质物理世界, 引擎和任何调试图形,如果有的话. 在毁灭了这个世界之后,它就不能再被使用了.

disableGravity() → {this}

Since:
  • 3.0.0
将世界重力和重力比例设置为0.
Returns:
这个物质世界对象.
Type
this

emit(event, …argsopt) → {boolean}

Since:
  • 3.0.0
Inherited From:
调用为给定事件注册的每个侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
args * <optional>
<repeatable>
将传递给事件处理程序的附加参数.
Returns:
`true` 如果事件有侦听器,则为 `false` .
Type
boolean

eventNames() → {Array.<(string|symbol)>}

Since:
  • 3.0.0
Inherited From:
返回一个数组,列出发射器已注册侦听器的事件.
Returns:
Type
Array.<(string|symbol)>

getAllBodies() → {Array.<MatterJS.BodyType>}

Since:
  • 3.22.0
递归返回物质世界中的所有实体,包括子体中的所有实体.
Returns:
这个世界上所有物质JS体的数组.
Type
Array.<MatterJS.BodyType>

getAllComposites() → {Array.<MatterJS.CompositeType>}

Since:
  • 3.22.0
递归返回物质世界中的所有复合,包括子世界中的所有复合.
Returns:
世界上所有物质合成的数组.
Type
Array.<MatterJS.CompositeType>

getAllConstraints() → {Array.<MatterJS.ConstraintType>}

Since:
  • 3.22.0
递归返回物质世界中的所有约束,包括子元素中的所有约束.
Returns:
这个世界上所有物质约束的数组.
Type
Array.<MatterJS.ConstraintType>

has(body) → {Array.<MatterJS.BodyType>}

Since:
  • 3.22.0
如果给定的身体可以在世界中找到,则返回 `true` .
Parameters:
Name Type Description
body MatterJS.Body | Phaser.GameObjects.GameObject 物质体,或游戏物体,在世界中寻找.
Returns:
这个世界上所有物质JS体的数组.
Type
Array.<MatterJS.BodyType>

listenerCount(event) → {number}

Since:
  • 3.0.0
Inherited From:
返回监听给定事件的侦听器数量.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
侦听器的数量.
Type
number

listeners(event) → {Array.<function()>}

Since:
  • 3.0.0
Inherited From:
返回为给定事件注册的侦听器.
Parameters:
Name Type Description
event string | symbol 事件名称.
Returns:
注册的听众.
Type
Array.<function()>

nextCategory() → {number}

Since:
  • 3.0.0
返回下一个唯一类别位字段(从初始默认类别0x0001之后开始). 有32个可用.
Returns:
唯一类别位字段
Type
number

nextGroup(isNonCollidingopt) → {number}

Since:
  • 3.0.0
返回实体将碰撞的下一个唯一组索引. 如果 `isNonColliding` 为 `true` ,则返回下一个唯一的组索引,对于该组索引,几何体不会发生碰撞.
Parameters:
Name Type Attributes Default Description
isNonColliding boolean <optional>
false 如果 `true` ,则返回下一个唯一的组索引,实体将不会发生碰撞.
Returns:
唯一类别位字段
Type
number

off(event, fnopt, contextopt, onceopt) → {this}

Since:
  • 3.0.0
Inherited From:
移除给定事件的侦听器.
Parameters:
Name Type Attributes Description
event string | symbol 事件名称.
fn function <optional>
仅移除与此函数匹配的侦听器.
context * <optional>
仅移除具有此上下文的侦听器.
once boolean <optional>
仅删除一次性侦听器.
Returns:
`this`.
Type
this

on(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol