У меня проблема с libgdx BitMapFont, я отображаю метки внутри таблицы scene2d, но шрифт «разрезан» в некоторых частях текста (см. Ниже).Libgdx font cut
Вот мой код:
для объявления шрифта:
font12 = new BitmapFont(Gdx.files.internal("fonts/text.fnt"));
font12.setUseIntegerPositions(false);
font12.getData().setScale(0.2f);
для объявления таблицы:
Table table = new Table();
table.top();
table.setFillParent(true);
LabelStyle lblStyle = new LabelStyle();
lblStyle.font = font12;
scoreLabel =new Label("SCORE", lblStyle);
timeLabel = new Label("TIME", lblStyle);
levelLabel = new Label("LEVEL", lblStyle);
Спасибо за вашу помощь.
[EDIT]
Вот код, я попытался с помощью FreeType, но это не выглядит гладким:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/OpenSans-Regular.ttf"));
FreeTypeFontParameter parameter = new FreeTypeFontParameter();
parameter.size = 18;
parameter.color = Color.BLACK;
generator.scaleForPixelHeight(18);
parameter.minFilter = Texture.TextureFilter.Linear;
parameter.magFilter = Texture.TextureFilter.Linear;
parameter.mono = false;
parameter.gamma = 2f;
font12 = generator.generateFont(parameter); // font size 12 pixels
font12.setUseIntegerPositions(false);
font12.getRegion().getTexture().setFilter(TextureFilter.Linear, TextureFilter.Linear);
generator.dispose(); // don't forget to dispose to avoid memory leaks!
Я попытался GDX-FreeType, но без успеха. См. Мое редактирование для кода. Что я сделал не так? – JavaDev
Я отредактировал свой ответ и добавил код, надеюсь, что это поможет. – Tekkerue
Спасибо, что ваш пример работает, моя проблема возникает из области просмотра. Для моего экрана игры я определяю свой видовой экран как gamePort = новый FitViewport (GameWorld.WORLD_WIDTH, GameWorld.WORLD_HEIGHT, gameCam); Возможно, это вызывает искажение. Вы знаете, как лучше всего управлять окнами просмотра и камерой? На самом деле, моя игра - своего рода настольная игра. – JavaDev