0

我已经四处寻找这个问题,但找不到解决方案。

这是我的渲染循环:

 Gdx.gl.glClearColor(0, 0, 0, 1);
 Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

 batch.begin();

 BitmapFont font = new BitmapFont(Gdx.files.internal("data/Media/font/myfont1.fnt"), false);
 font.setColor(new Color(1, 1, 1, 1));
 font.draw(batch, "Hello", 100, 100);

 batch.end();

我已经尝试了所有可能的颜色、位置和不同的程序来生成字体。但结果总是一样的:黑屏!(当 glClearColor 为 (1, 1, 1, 1) 时,白屏...)谁能告诉我出了什么问题?

提前致谢!

编辑:我自己发现了问题。这是一台设置不当的相机!

4

4 回答 4

2

似乎你没有加载 png 文件和 fnt 文件

 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);

并且请永远不要尝试在渲染方法中加载任何内容。尝试在构造函数中加载字体,否则你最终会得到一个 GC 调用,而 fps 最终会下降

于 2013-10-01T03:56:10.187 回答
1

您可以在项目中不包含 .fnt 的情况下初始化新的 BitmapFont。

BitmapFont font = new BitmapFont();

然后你渲染它:

batch.begin();
font.draw(batch, "Hello world", 200, 0);
batch.end();

别忘了 Y 轴是从底部开始的!

于 2013-12-31T00:51:50.317 回答
0
 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);

如果您的字体图像很少,例如 billy.fnt、billy_1.png、billy_2.png,您可以使用:

 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), false);
于 2013-10-01T13:50:43.120 回答
0

使用 libgdx 网站提供的 hiero 创建一个 .fnt 文件

设置字体150的大小,它将创建一个.fnt文件和一个png文件

将两个文件复制到您的资产文件夹中

现在声明字体

BitmapFont font;

创建方法中的 nw

font = new BitmapFont(Gdx.files.internal("data/rayanfont.fnt"), false);

//rayanfont 是字体名称,你可以给你的字体起任何名字

在渲染中

batch.begin();
font.setscale(.2f);
font.draw(batch, "hello", x,y);
batch.end();

这将顺利进行

于 2013-10-03T11:08:20.367 回答