Java 如何让我的LibGDX位图字体绘制?

Java 如何让我的LibGDX位图字体绘制?,java,libgdx,Java,Libgdx,我到处寻找这个问题,但找不到解决办法 这是我的渲染循环: 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,

我到处寻找这个问题,但找不到解决办法

这是我的渲染循环:

 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)时,白色屏幕…)有人能告诉我出了什么问题吗

提前谢谢

编辑:
我自己发现了问题。这是一个设置不好的照相机

似乎U没有将png文件与fnt文件一起加载

 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);
请不要尝试在渲染方法中加载任何内容。
尝试在构造器中加载字体,否则u将以G.C调用结束,f.p.s最终将下拉

似乎u没有将png文件与fnt文件一起加载

 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);
 font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);
请不要尝试在渲染方法中加载任何内容。 尝试在构造器中加载字体,否则u将以G.C调用结束,f.p.s最终将下降

 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);
如果您只有少量字体图像,例如billy.fnt、billy_1.png、billy_2.png,您可以使用:

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

使用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();

这将顺利进行

使用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();

这将顺利进行

您可以初始化新的位图字体,而无需在项目中使用.fnt

BitmapFont font = new BitmapFont();
然后渲染它:

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

不要忘记Y轴从底部开始

您可以初始化新的位图字体,而不必在项目中使用.fnt

BitmapFont font = new BitmapFont();
然后渲染它:

batch.begin();
font.draw(batch, "Hello world", 200, 0);
batch.end();
不要忘记Y轴从底部开始