Java 如何将自定义字体与Slick';什么是独角兽级?

Java 如何将自定义字体与Slick';什么是独角兽级?,java,opengl,unicode,fonts,drawstring,Java,Opengl,Unicode,Fonts,Drawstring,我使用的代码是从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(); menuF

我使用的代码是从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点范围内缩放效果更好的字体


希望这有帮助

我最终只是映射文本的图像,而不是尝试绘制字体,但是我打算在项目中测试这一点,当我有时间时,我会验证。谢谢你的回答!