Фазер 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)

0 ответов

Другие вопросы по тегам