не рисует шрифты в libgdx

Я хочу нарисовать несколько шрифтов в своей игре (в libgdx). У меня ошибок нет, все работает, но шрифтов не вижу. Я не знаю почему. Может у кого была такая же проблема. Спасибо за помощь. Вот мой код в методе создания:

String scores = "SCORE:";
atlas = new TextureAtlas();
    camera = new OrthographicCamera(1, h/w);
    batch = new SpriteBatch();
    score = new BitmapFont(Gdx.files.internal("gfx/abc.fnt"),
            atlas.findRegion("gfx/abc.png"), false);

и визуализировать:

Gdx.gl.glClearColor(1, 1, 1, 1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    camera.update();
    batch.setProjectionMatrix(camera.combined);
    batch.begin();
    score.draw(batch, scores, 300, 300);
    Gdx.app.log("", ""+scores);
    batch.end();

person user978758    schedule 15.10.2013    source источник


Ответы (1)


Хорошо, я решил проблему. Я добавил код в метод рендеринга:

batch.setProjectionMatrix(new Matrix4().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()));
person user978758    schedule 15.10.2013
comment
теперь вы создаете новый объект внутри вашего рендера, который не должен быть хорошим. Создайте Matrix4 как атрибут класса и просто установите ортогональное положение. - person BennX; 15.10.2013
comment
BenX прав. Другим решением вашей проблемы является установка размера вашего шрифта в соотношении с соотношением вашего окна просмотра. Что-то вроде font.setsize(size.x/40,size.y/40); синтаксис неправильный, но я знаю, ты разберешься - person Kumar Saurabh; 16.10.2013
comment
У меня такая же проблема, я в тупике. Я вызываю метод рисования для шрифта в одном классе, производном от X, и он работает нормально, я вызываю его в другом классе, который также является производным от X, и он ничего не отображает... Я не знаю, что я делаю неправильно . - person AgentM; 30.10.2018