如何在Slick2D中加载自定义TrueTypeFonts

时间:2015-10-24 21:57:28

标签: java fonts slick2d

人们在将自定义字体加载到Slick2D中以使用图形工具绘制字符串时遇到很多问题,所以我就是这样做的。

1 个答案:

答案 0 :(得分:1)

  1. 首先进入您想要使用该字体的班级。
  2. 在类开始的部分下声明这些变量,如下所示:

    public class Easy extends BasicGameState{
    
    //Fonts
    java.awt.Font UIFont1;
    org.newdawn.slick.UnicodeFont uniFont;
    

    由于TrueTypeFont加载有很多问题,我们可以使用UnicodeFont加载.ttf字体(它完全相同)。

  3. 将其放入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();
            }
    
  4. 最后,在render{ ... }中,将其放入uniFont.drawString(x, y, "What you want to write here", Color.ChooseYourColorHere)
  5. 您当然可以更改我为变量添加的默认名称。 请记住,我不是所有这些的作者,我只是想清楚地告诉你如何做到这一点,因为我使用的所有来源要么没有完成,要么只是建议。