#&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)?