3

MatterJS 的新手。

在示例中,有绘制圆形、矩形等的选项。这些选项就像使用 Sprite、FillStyle...

我在文档中看不到与此相关的选项和值列表。

任何人都可以帮忙吗?

谢谢。

4

3 回答 3

2

通过阅读 matter.js 的源代码,我找到了选项的默认值。没有解释每个人的作用,但至少这里有一个列表:

var defaults = {
  id: Common.nextId(),
  type: 'body',
  label: 'Body',
  parts: [],
  plugin: {},
  angle: 0,
  vertices: Vertices.fromPath('L 0 0 L 40 0 L 40 40 L 0 40'),
  position: { x: 0, y: 0 },
  force: { x: 0, y: 0 },
  torque: 0,
  positionImpulse: { x: 0, y: 0 },
  constraintImpulse: { x: 0, y: 0, angle: 0 },
  totalContacts: 0,
  speed: 0,
  angularSpeed: 0,
  velocity: { x: 0, y: 0 },
  angularVelocity: 0,
  isSensor: false,
  isStatic: false,
  isSleeping: false,
  motion: 0,
  sleepThreshold: 60,
  density: 0.001,
  restitution: 0,
  friction: 0.1,
  frictionStatic: 0.5,
  frictionAir: 0.01,
  collisionFilter: {
    category: 0x0001,
    mask: 0xFFFFFFFF,
    group: 0
  },
  slop: 0.05,
  timeScale: 1,
  render: {
    visible: true,
    opacity: 1,
    sprite: {
      xScale: 1,
      yScale: 1,
      xOffset: 0,
      yOffset: 0
    },
    lineWidth: 0
  }
};

正如 taras 指出的那样,对象的属性是从这些选项初始化的。

于 2020-05-15T23:17:56.833 回答
0

我认为在这些示例中,matter.js正在通过Render.bodies(在 matter.js 文件中)和相关函数来处理身体形状本身的绘制。

如果有人想画线、圆或矩形,他们可以访问 matter.js 使用的画布,并通过 lineTo 绘制它们,我猜是画布的弧函数。

于 2019-03-05T11:43:52.383 回答
0

这些选项是 body 的属性,在Matter.Body模块中描述:http: //brm.io/matter-js/docs/classes/Body.html#properties

于 2018-05-15T07:53:53.070 回答