人们在将自定义字体加载到Slick2D中以使用图形工具绘制字符串时遇到很多问题,所以我就是这样做的。
答案 0 :(得分:1)
在类开始的部分下声明这些变量,如下所示:
public class Easy extends BasicGameState{
//Fonts
java.awt.Font UIFont1;
org.newdawn.slick.UnicodeFont uniFont;
由于TrueTypeFont加载有很多问题,我们可以使用UnicodeFont加载.ttf字体(它完全相同)。
将其放入init{ ... }
并根据您的喜好替换属性:
try{
UIFont1 = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT,
org.newdawn.slick.util.ResourceLoader.getResourceAsStream("res/fonts/yourFontFile.ttf"));
UIFont1 = UIFont1.deriveFont(java.awt.Font.PLAIN, 16.f); //You can change "PLAIN" to "BOLD" or "ITALIC"... and 16.f is the size of your font
uniFont = new org.newdawn.slick.UnicodeFont(UIFont1);
uniFont.addAsciiGlyphs();
uniFont.getEffects().add(new ColorEffect(java.awt.Color.white)); //You can change your color here, but you can also change it in the render{ ... }
uniFont.addAsciiGlyphs();
uniFont.loadGlyphs();
}catch(Exception e){
e.printStackTrace();
}
render{ ... }
中,将其放入uniFont.drawString(x, y, "What you want to write here", Color.ChooseYourColorHere)
您当然可以更改我为变量添加的默认名称。 请记住,我不是所有这些的作者,我只是想清楚地告诉你如何做到这一点,因为我使用的所有来源要么没有完成,要么只是建议。