Фазер 3 - физический контейнер для спрайтов с пользовательской формой
У меня есть куча спрайтов с физическим телом json (созданным PhysicsEditor), и я хочу добавить к нему текст, я подумал, что лучше всего использовать контейнер с физикой материи:
preload(){
this.load.atlas('ballSheet', '/media/ballsGreen.png', '/media/ballsGreen.json');
this.load.json('ballShapes', '/media/ballsGreenPhy.json');
}
и в функции создания, создающей спрайты:
var ballShapes = this.cache.json.get('ballShapes');
for (i ; i< init_words.length;i++){
var tempBall = this.add.sprite((canvasWidth)/2, -100*i, 'ballSheet', 'ballGreen100.png', {shape: ballShapes.ballGreen100 });
var temp = this.add.text(canvasWidth/2, -100*i, init_words[i], { font: '34px Arial', fill: '#00ffff' });
var container = this.add.container(0,0,[tempBall,temp]);
this.matter.add.gameObject(container).setFrictionAir(0.001).setBounce(0.20);
}
есть похожий пример из labs.phaser: пример phaser 3, но он не работает должным образом, в основном при добавлении контейнера в качестве gameObject для значения:
this.matter.add.gameObject(container)