Phaser3游戏仅得分文本加载KarmaFuture字体 其余文本不生效求助
问题根源
你代码中所有无法正常加载KarmaFuture字体的文本,均存在属性名拼写错误:正确的字体配置属性是fontFamily,你误写为fontFaimly,仅得分文本的属性拼写正确,所以只有它符合预期。
需修改的三处代码
spawnPlayer方法内的等级文本配置:
原错误代码:
把this.levelText = this.add.text(100,0, "Level: "+this.player.level, { fill:"#000000", fontSize:"15px", fontFaimly:"KarmaFuture" }).setScrollFactor(0).setDepth(400);fontFaimly修改为fontFamily即可。spawnPlayer方法内的升级进度文本配置:
原错误代码:
同样把this.progresslText = this.add.text(200,0, "Level Up In: "+this.player.progressl, { fill:"#000000", fontSize:"15px", fontFaimly:"KarmaFuture" }).setScrollFactor(0).setDepth(400);fontFaimly修改为fontFamily。collectCoin方法内的进度文本更新逻辑:
原错误代码:
Phaser的this.progresslText.setText("Level Up In: "+this.player.progressl, {fontFaimly: 'KarmaFuture'});setText方法仅接受文本内容作为参数,不接受第二个样式参数,此处直接删除多余的错误样式参数即可,文本会继承初始化时配置的字体样式。如果需要动态修改样式,应该调用setStyle方法,示例:this.progresslText.setText("Level Up In: "+this.player.progressl).setStyle({fontFamily: 'KarmaFuture'});
可选兜底优化
如果修改拼写后仍偶发字体不生效问题,可增加字体预加载逻辑,确保KarmaFuture字体加载完成后再初始化Phaser游戏实例,避免运行时字体还未加载完成,Phaser用系统兜底字体渲染的问题。
内容的提问来源于stack exchange,提问作者Grant
相关产品推荐
相关产品推荐

