0

我正在尝试为游戏创建一个简单的开始屏幕,并且我正在使用带有 nifty-gui 的 LWJGL。

这是我现有的代码:

public class Main { 

public Main(){
     if (!LwjglInitHelper.initSubSystems("Risk It")) {
          System.exit(0);
        }
     Nifty nifty = new Nifty(
                new LwjglRenderDevice(),
                new OpenALSoundDevice(),
                new LwjglInputSystem(),
                new AccurateTimeProvider());
     Game game = new Game(nifty);
}


    public static void main(final String[] args) throws Exception {
       Main main = new Main();
    }

}

public class Game {

    public Game(Nifty nifty){
        nifty.fromXml("util/tutorial.xml", "start");
        LwjglInitHelper.renderLoop(nifty, null);
        LwjglInitHelper.destroy();
    }

}

LwjglInitHelper类可以在这里找到

我的 XML 是:

<?xml version="1.0" encoding="UTF-8"?>
<nifty>
   <useStyles filename="nifty-default-styles.xml" />
   <useControls filename="nifty-default-controls.xml" />
   <screen id="start">
      <layer id="background" childLayout="center">
         <image filename="util/img/menuTexture.png" />
            <text text="My Cool Game" font="Venus_Rising.fnt" width="100%" height="100%" />
      </layer>
   </screen>
</nifty>

虽然文本没有出现在屏幕上:

在此处输入图像描述

.fnt 文件和 .png 文件在我的类路径中,在 src 文件夹中。

知道问题是什么吗?

4

1 回答 1

0

您的字体属性路径是问题所在。它需要 .fnt 文件的完整路径,例如:

字体="界面/字体/AdobeArabic.fnt"

于 2016-06-04T13:01:54.310 回答