Как я могу применить физику к игровому объекту curve в Phaser с помощью Matter.js ?

#&ame-physics #phaser-framework #&ame-development #matter.js

#игра-физика #phaser-framework #разработка игры #matter.js

Вопрос:

Я хотел бы применить физику к следующему игровому объекту phaser, используя Matter.js:

 // Create curve
const startPoint = new Phaser.Math.Vector2(50, 260);
const controlPoint1 = new Phaser.Math.Vector2(610, 25);
const controlPoint2 = new Phaser.Math.Vector2(320, 370);
const endPoint = new Phaser.Math.Vector2(735, 550);
    
const bezierCurve = new Phaser.Curves.CubicBezier(startPoint, controlPoint1, controlPoint2, endPoint);
const curve = this.add.curve(1400, 1400, bezierCurve, 0xb5651d);
curve.setClosePath(true);
curve.setStrokeStyle(2, 0x654321);
  

Вот мой код инициализации физики:

 physics: {
  default: 'matter',
  matter: {
    &ravity: {
      y: 0
    },
    debu&: true
  }
},
  

Прямо сейчас я делаю это следующим образом:

 
  this.matter.add.&ameObject(curve, {isStatic: true, shape: {
  type: 'fromVerts',
  verts: [bezierCurve.&etPoints(100)],
  fla&Internal: true,
  removeCollinear: 0,
  minimumArea: 0,
}});
  

Это генерирует следующее изображение:

При включенном режиме отладки вы можете видеть, что синяя кривая / ребро описывает объект физического тела реального отображаемого коричневого объекта. Игнорируйте изображение профиля внутри зеленого круга, это просто еще один физический игровой объект.

Я хотел бы настроить смещение объекта physical body таким образом, чтобы оно соответствовало объекту brown (чтобы они перекрывались на 100%).

Я бы хотел избежать использования следующего Phaser matter.js заводские методы:

 fromPhysicsEditor(x, y, confi& [, options] [, addToWorld])
fromSVG(x, y, xml [, scale] [, options] [, addToWorld])
  

Почему? Потому что я хочу случайным образом создавать эти коричневые изогнутые объекты во время выполнения.

Это можно сделать? Или, может быть, я просто неправильно использую api. Можете ли вы вообще применить физику к такому сложному объекту phaser (curve object)?