1
我有一個libgdx BitMapFont的問題,我在scene2d表格中顯示標籤,但字體在文本的某些部分(見下文)被「剪切」。Libgdx字體切割
這裏是我的代碼:
宣告字體:
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);
謝謝您的幫助。
[編輯]
這裏是我使用的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 = new FitViewport(GameWorld.WORLD_WIDTH,GameWorld.WORLD_HEIGHT,gameCam); 也許這是在扭曲。你知道管理視口和相機的最佳方式嗎?其實,我的遊戲是一種棋盤遊戲。 – JavaDev