我正在用字体编写游戏,但遇到了问题。即使我尝试了一切,我也不知道如何使用字体。你能解释一下什么是字形吗?如果需要,从哪里获取 .fnt 文件?
user1217946
问问题
8905 次
2 回答
3
很多东西要么不再使用,要么不再需要。基本上你只需要一个Graphics实例,并使用类似于drawString方法的东西。您还可以在Graphics对象上使用setFont来设置要用于渲染的字体。
您可以从GameContainer获取Graphics实例,然后对其进行渲染。如果你想看一个例子,我在 github 上的项目中这个文件的方法中有一些行将调试信息渲染到屏幕上(fps、内存使用情况等)。代码的相关部分是:render
if (ConfigValues.renderSystemInfo) {
g.setColor(new Color(50, 50, 50, 180));
g.fillRect(0, 0, 300, 70);
g.setColor(Color.white);
g.drawString("MEM total(used): " + (Runtime.getRuntime().totalMemory()/1000000) + "(" + ((Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())/1000000) + ") MB", 10, 25);
g.drawString("Ped. history size: " + (peds.size()*peds.get(0).getMovementHistory().size()) + " nodes", 10, 40);
}
仅供参考,至少在概念上,字形只是字体中字符的视觉表示。因此,a
例如,字母在给定字体中的外观是该字母的字体字形。大写和小写 ( a
or A
) 有不同的字形,这就是使大写和小写字母在字体中出现不同的原因。
于 2012-03-15T14:11:31.813 回答
2
Font font = new Font('Verdana', Font.BOLD, 32);
TrueTypeFont ttf = new TrueTypeFont(font, true);
在您的更新方法中:
ttf.drawString(32.0f, 32.0f, "Your words here", Color.green);
于 2012-09-02T18:31:56.600 回答