Как в мне задать уникальный индекс для SpriteWithDynamicBody Phaser.js
Пытаюсь сделать, чтобы когда объекты наезжали друг на друга, они совмещались и получался новый. Но проблема в том, что я не знаю как мне проверять каждый отдельный объект. Я думаю занести уникальный index в каждый объект, а потом из списка вытаскивать их. Если есть лучше решения или идея как это сделать, то пишите
Вот код:
import Phaser from 'phaser';
class Game extends Phaser.Scene {
constructor() {
super();
}
addEgg(x, y, number) {
const container = this.add.container(400-x, 300+y);
container.setSize(50, 50);
container.setInteractive({ draggable: true });
const egg = this.physics.add.sprite(0, 0, `egg${number}`);
container.add([egg]);
container.on('drag', (pointer, dragX, dragY) => container.setPosition(dragX, dragY));
return [egg, container];
}
preload() {
this.load.image('egg1', 'assets/Egg1.png');
this.load.image('egg2', 'assets/Egg2.png');
this.load.image('egg3', 'assets/Egg3.png');
}
create() {
const eggsGroup = this.physics.add.group();
this.addEgg(100, 0, 1);
this.addEgg(120, 200, 1);
this.addEgg(200, 75, 2);
this.eggs.forEach((obj, i) => {
eggsGroup.add(obj.obj)
});
function combineEggs(egg1, egg2) {
egg1.disableBody(true, true);
egg2.disableBody(true, true);
}
}
update() {
}
}
const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
scene: Game,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 0 },
debug: false
}
},
};
const game = new Phaser.Game(config);