我很难在LibGDX中绘制文字。每次我跑它,我都会得到一个黑色的窗户。我希望文字是白色的,但我什么也看不见。我试过找到很多教程和vieos,仍然无法让它工作。我的资产文件夹/ fonts中有一个vaild fnt和png文件。
package org.alexwebber.frc.stalk;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class Main extends ApplicationAdapter
{
public class HelloWorld implements ApplicationListener
{
private SpriteBatch batch;
private BitmapFont font;
@Override
public void create()
{
batch = new SpriteBatch();
font = new BitmapFont(Gdx.files.internal("fonts/main.fnt"),
Gdx.files.internal("fonts/main.png"), false);
}
@Override
public void dispose()
{
batch.dispose();
font.dispose();
}
@Override
public void render()
{
batch.begin();
font.setColor(255.0f, 255.0f, 255.0f, 255.0f);
font.draw(batch, "Hello World", 25, 160);
batch.end();
}
@Override
public void resize(int width, int height)
{
}
@Override
public void pause()
{
}
@Override
public void resume()
{
}
}
}
答案 0 :(得分:4)
可能会影响你的是取消屏幕清除:
public void render () {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
font.setColor(Color.WHITE);
font.draw(batch, "Hello world", 25, 160);
batch.end();
}
您也可以尝试按上述方式传递Color.WHITE
。如果您使用的Android设备具有极高的屏幕分辨率,则可能无法看到文本行。
通过a Desktop application进行测试也是一个好主意,因为您可以调整屏幕分辨率,以便文字更大。