Libgdx: 我可以通过读取文本文件在屏幕上绘制文本吗?
Libgdx: Can I draw text onto screen by reading from a text file?
我希望我的程序能够通过读取文本文件(例如从文件中读取一行)来绘制字体,有人知道这样做的方法吗?
是的,您可以通过读取文本文件将文本绘制到屏幕上。
这是测试用例:
我有两个文件,一个是 .txt
另一个是 .json
.
public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
BitmapFont bitmapFont;
String txtFileString;
String jsonString;
JsonValue jsonValue;
@Override
public void create () {
bitmapFont=new BitmapFont();
batch = new SpriteBatch();
txtFileString = Gdx.files.internal("file.txt").readString();
jsonString=Gdx.files.internal("file.json").readString();
JsonReader jsonReader= new JsonReader();
jsonValue=jsonReader.parse(Gdx.files.internal("file.json"));
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
bitmapFont.draw(batch, txtFileString,10,380);
bitmapFont.draw(batch, jsonString,10,300);
bitmapFont.draw(batch,jsonValue.get("framework").asString(),10,180);
bitmapFont.draw(batch,jsonValue.get("language").asString(),10,160);
batch.end();
}
@Override
public void dispose () {
batch.dispose();
bitmapFont.dispose();
}
}
我的预期输出:
我希望我的程序能够通过读取文本文件(例如从文件中读取一行)来绘制字体,有人知道这样做的方法吗?
是的,您可以通过读取文本文件将文本绘制到屏幕上。
这是测试用例:
我有两个文件,一个是 .txt
另一个是 .json
.
public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
BitmapFont bitmapFont;
String txtFileString;
String jsonString;
JsonValue jsonValue;
@Override
public void create () {
bitmapFont=new BitmapFont();
batch = new SpriteBatch();
txtFileString = Gdx.files.internal("file.txt").readString();
jsonString=Gdx.files.internal("file.json").readString();
JsonReader jsonReader= new JsonReader();
jsonValue=jsonReader.parse(Gdx.files.internal("file.json"));
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin();
bitmapFont.draw(batch, txtFileString,10,380);
bitmapFont.draw(batch, jsonString,10,300);
bitmapFont.draw(batch,jsonValue.get("framework").asString(),10,180);
bitmapFont.draw(batch,jsonValue.get("language").asString(),10,160);
batch.end();
}
@Override
public void dispose () {
batch.dispose();
bitmapFont.dispose();
}
}
我的预期输出: