Я новичок в libgdx и пытаюсь отобразить текст на экране.
Я просмотрел несколько руководств, и все они говорят, что я должен инициировать BitmapFont
без параметров, и тогда он будет использовать шрифт по умолчанию. Но на моем устройстве Android он просто показывает эти черные прямоугольники:
И вот мой код:
public class GameOverScreen implements Screen {
private JumpGame game;
private OrthographicCamera cam;
private BitmapFont gameOverFont;
private Label.LabelStyle labelStyle;
private Label label;
public GameOverScreen(JumpGame game) {
this.game = game;
cam = new OrthographicCamera();
gameOverFont = new BitmapFont();
labelStyle = new Label.LabelStyle(gameOverFont, Color.BLACK);
label = new Label("Game Over", labelStyle);
}
@Override
public void show() {
cam.setToOrtho(false, game.getWidth() / 4, game.getHeight() / 4);
game.batch.setProjectionMatrix(cam.combined);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
game.batch.begin();
label.draw(game.batch, 1);
game.batch.end();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}
ИЗМЕНИТЬ:
Итак, я запускал Скрин с текстом из второго треда. Когда я запускаю его "нормально", он работает нормально. Может кто-нибудь объяснить, почему это так, и как обойти это, если я хочу запустить его из потока?
game.getWidth()
иgame.getHeight()
- person Abhishek Aryan   schedule 08.05.2017