Libgdx: можно ли рисовать текст на экране, читая текстовый файл? - PullRequest
0 голосов
/ 12 мая 2018

Я бы хотел, чтобы моя программа могла рисовать шрифты посредством чтения из текстового файла (например, чтения строки из файла), кто-нибудь знает способ сделать это?

1 Ответ

0 голосов
/ 14 мая 2018

Да, вы можете рисовать текст на экране, читая текстовый файл.

Вот тестовый пример: У меня есть два файла, один .txt и другой .json.

enter image description here

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();
    }
}

Мой ожидаемый результат:

enter image description here

...