我可以在 Phaser 3 中设置字体的字体宽度吗?

问题描述

我正在使用 Phaser 3 在带有 WebGL 的画布中开发浏览器游戏。我使用自定义加载字体设置画布文本的宽度,但无法设置其样式(例如,斜体、半粗体)。

这是我用来创建文本的代码

this.add.text(100,600,'Test Text',{
  font: '50px Poppins'
})
this.add.text(100,{
  font: '50px Poppins semibold'
})

输出如下:

enter image description here

第二张图片使用的是认字体,而不是 Poppins。似乎只要我尝试设置斜体或任何其他样式,它就会回退到认字体。

我也尝试用属性设置它(运气不好)。有没有人遇到过同样的问题(样式自定义字体),以及如何正确加载样式自定义字体?

解决方法

问题:

var source = UrlFetchApp.fetch(url).getContentText() var jsonString = source.match(/(?<=root.App.main = ).*(?=}}}})/g) + '}}}}' var data = JSON.parse(jsonString) 不是有效的 semibold。所以它将被视为字体。

enter image description here

解决方案:

enter image description here

font-weight

https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight