我四处寻找这个问题,但无法找到解决方案。
这是我的渲染循环:
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)时,白屏......)谁能告诉我出了什么问题?
提前致谢!
编辑: 我自己发现了这个问题。这是一个设置严重的相机!
答案 0 :(得分:2)
似乎没有加载png文件和fnt文件
font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false);
请不要尝试在render方法中加载任何内容。 尝试在构造函数中加载字体,否则你将以G.C调用结束,f.p.s最终会下拉
答案 1 :(得分:1)
您可以在项目中没有.fnt的情况下初始化新的BitmapFont。
BitmapFont font = new BitmapFont();
然后你渲染它:
batch.begin();
font.draw(batch, "Hello world", 200, 0);
batch.end();
不要忘记Y轴从底部开始!
答案 2 :(得分: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);
答案 3 :(得分:0)
使用libgdx网站提供的hiero创建.fnt文件
设置字体150的大小,它将创建一个.fnt文件和一个png文件
复制你的assests文件夹中的两个文件
现在声明字体
BitmapFont font;
创建方法
font = new BitmapFont(Gdx.files.internal("data/rayanfont.fnt"), false);
// rayanfont是您可以为您的字体命名的字体名称
in render
batch.begin();
font.setscale(.2f);
font.draw(batch, "hello", x,y);
batch.end();
这将顺利运作