我的fonts/目录中有一种字体。如何将其加载到游戏中,然后在游戏中的文本对象上使用它?在Phaser 3中,我找不到使用字体的任何东西。
Nan*_*noo 11
这是我制作的一个小函数,只需要字体名称和 url:
function loadFont(name, url) {
var newFont = new FontFace(name, `url(${url})`);
newFont.load().then(function (loaded) {
document.fonts.add(loaded);
}).catch(function (error) {
return error;
});
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
loadFont("mixolydian", "assets/fonts/mixolydian.ttf");
Run Code Online (Sandbox Code Playgroud)
就是这样!您现在可以在 Phaser 中使用自定义字体。您所要做的就是将fontFamily值更改为新字体名称(即 mixolydian)。
Noo*_*bTW 10
首先使用css加载字体(@fontface):
<style media='screen' type='text/css'>
@font-face {
font-family: font1;
src: url('media/yourfont.ttf');
font-weight:400;
font-weight:normal;
}
</style>
Run Code Online (Sandbox Code Playgroud)
然后使用div加载字体:
<div style="font-family:font1; position:absolute; left:-1000px; visibility:hidden;">.</div>
Run Code Online (Sandbox Code Playgroud)
现在,您可以将其添加到游戏中:
this.add.text(190, 136, 'text', {
fontFamily: 'font1',
});
Run Code Online (Sandbox Code Playgroud)