Matter-js - Как получить ширину и высоту прямоугольника? - PullRequest
0 голосов
/ 04 июля 2018

Matter-js - Как получить ширину и высоту прямоугольника?

Мне нужно знать, есть ли метод возврата расстояния, реализованный в Matter-js.

// part.vertices[0] and part.vertices[1]

Я хочу добавить опцию плиток. Вот так выглядит критическая часть (я использую функцию переопределения для Render.body, это для меня наиболее интересно).:

  for (let x = 0; x < this.tiles; x++) {

    c.drawImage(
      texture,
      texture.width * -part.render.sprite.xOffset * part.render.sprite.xScale,
      texture.height * -part.render.sprite.yOffset * part.render.sprite.yScale,
      texture.width * part.render.sprite.xScale,
      texture.height * part.render.sprite.yScale);

  }

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Я выбрал решение, очень похожее на следующее:

var width = 30;
var height = 30;
var rect = Bodies.rectangle(150, 100, width, height, {density:0.01, className:"brick", width:width, height:height});

console.log(rect.className, rect.width); // "brick", 30

Я решил сохранить исходную информацию о ширине / высоте вместе с другими пользовательскими свойствами, такими как className

Причина в том, что на bounds влияет вращение любого не идеально круглого объекта, например. границы повернутого прямоугольника могут быть на ~ 30% шире, чем его фактическая ширина.

0 голосов
/ 15 июля 2018

const { min, max } = part.bounds

будет содержать то, что вам нужно в { x, y }

просто вычесть max.x - min.x & max.y - min.y

...