我正在使用Phaser制作一个在线游戏,我需要制作按钮,按钮上带有文本,可以根据文本进行更改,因为文本每次都可能不同。我尝试检查API文档,但当我放入获取大小函数以尝试获取文本的边界时,按钮消失或代码将停止工作,并显示无法读取未定义的属性的错误(阅读getBounds),而且每次我重新加载页面时,它都会在两者之间交换。
count = Phaser.Math.Between(1,4)
for(let i = 50;i <= 750;i = i +200){
bingus = this.add.text(i, 400, quiz[category][difficulty][quest][count])
answs.push(bingus)
gorp.push(count)
count++
}
if(count > 4){
count = 1
}
}
this.butt1.setDisplaySize(Phaser.Geom.Rectangle.GetSize(answs[gorp[0]].getBounds()))
1条答案
按热度按时间p3rjfoxz1#
您可以将
Phaser.GameObjects.Text
及其displayWidth
和/或displayHeight
属性与全局Phaser.Display.Align.In.Center
函数一起使用。也许这也适用于你的用例。
基本上:
1.使用
setText
设置文本对象的文本1.获取text对象的当前
displayWidth
和displayHeight
1.更新/调整按钮对象的大小,也使用
displayWidth
和displayHeight
属性1.使用
Phaser.Display.Align.In.Center
函数将文本对象居中放置在按钮对象内下面是一个小型的工作演示: