You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phaser3游戏仅得分文本加载KarmaFuture字体 其余文本不生效求助

问题根源

你代码中所有无法正常加载KarmaFuture字体的文本,均存在属性名拼写错误:正确的字体配置属性是fontFamily,你误写为fontFaimly,仅得分文本的属性拼写正确,所以只有它符合预期。

需修改的三处代码

  1. spawnPlayer方法内的等级文本配置:
    原错误代码:
    this.levelText = this.add.text(100,0, "Level: "+this.player.level, { fill:"#000000", fontSize:"15px", fontFaimly:"KarmaFuture" }).setScrollFactor(0).setDepth(400);
    
    把fontFaimly修改为fontFamily即可。
  2. 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。
  3. collectCoin方法内的进度文本更新逻辑:
    原错误代码:
    this.progresslText.setText("Level Up In: "+this.player.progressl, {fontFaimly: 'KarmaFuture'});
    
    Phaser的setText方法仅接受文本内容作为参数,不接受第二个样式参数,此处直接删除多余的错误样式参数即可,文本会继承初始化时配置的字体样式。如果需要动态修改样式,应该调用setStyle方法,示例:
    this.progresslText.setText("Level Up In: "+this.player.progressl).setStyle({fontFamily: 'KarmaFuture'});
    

可选兜底优化

如果修改拼写后仍偶发字体不生效问题,可增加字体预加载逻辑,确保KarmaFuture字体加载完成后再初始化Phaser游戏实例,避免运行时字体还未加载完成,Phaser用系统兜底字体渲染的问题。

内容的提问来源于stack exchange,提问作者Grant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:09:04