gpt4 book ai didi

java - 如何将自定义字体与 Slick 的 UnicodeFont 类一起使用?

转载 作者:行者123 更新时间:2023-11-30 04:56:37 24 4
gpt4 key购买 nike

我正在使用此代码,该代码是从 Slick Wiki Unicode 教程中截取并修改的:

UnicodeFont menuFont = new UnicodeFont("/fonts/mailrays.ttf", 8, false, false);

menuFont.addAsciiGlyphs();
menuFont.addGlyphs(400, 600);
menuFont.getEffects().add(new ColorEffect());
menuFont.loadGlyphs();

menuFont.drawString(25.0f, -80.0f, "Snake", new Color(1.0f, 1.0f, 1.0f));

但是当字符串在屏幕上绘制时,它使用低分辨率控制台字体,我认为这是默认字体。什么可能阻止字符串使用我传递给构造函数的字体(mailrays.tff)?

最佳答案

我知道这已经快两个月了,但如果您仍在寻找答案......

如果 Slick 无法找到您的字体,当您尝试实例化该字体时,您会收到 RuntimeException。要验证这一点,请尝试指定您的计算机上不存在的字体名称(例如“crap.ttf”)...您很可能会看到类似以下内容的内容:

线程“main”中出现异常 java.lang.RuntimeException:找不到资源:crap.ttf 在 org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69) 在 org.newdawn.slick.UnicodeFont.createFont(UnicodeFont.java:61)

鉴于此,这里的问题可能是您正在创建的字体的大小。尝试创建 8 点字体会导致许多 TTF 字体困惑,并且结果可能看起来像您所描述的低分辨率。要验证这一点,请尝试创建更大尺寸的字体,可能是 12 号左右。这显然会比您想要的要大,但至少它会验证您正在加载正确的字体并且问题只是缩放。如果是这种情况,您只需找到一种在 8 点范围内缩放效果更好的字体即可。

希望这有帮助!

关于java - 如何将自定义字体与 Slick 的 UnicodeFont 类一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com