我有一堆带有body json(由PhysicsEditor创建)的精灵,我想在上面添加文本,我认为最好的方法是将容器与物联网一起使用:< / p>
preload(){
this.load.atlas('ballSheet', '/media/ballsGreen.png', '/media/ballsGreen.json');
this.load.json('ballShapes', '/media/ballsGreenPhy.json');
}
并在create函数中创建精灵:
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 example 但是它不能正常工作,主要是在将容器作为游戏对象添加时重要:
this.matter.add.gameObject(container)