0
我正在使用一個使用較小視口的LibGDX遊戲。LibGDX文本沒有集中在較小的視口中
public static float BOX_SCALE = 10;
public static final float VIRTUAL_WIDTH = (int) (320/BOX_SCALE);
public static final float VIRTUAL_HEIGHT = (int) (480/BOX_SCALE);
float viewportHeight = MyConstants.Screen.VIRTUAL_HEIGHT;
float viewportWidth = MyConstants.Screen.VIRTUAL_HEIGHT * Gdx.graphics.getWidth()/Gdx.graphics.getHeight();
例如我的視口可以具有的尺寸(32,48)。我使用Scene2D進行渲染。由於某些原因,每當我創建一個TextButton時,文本從不居中。這是用於按鈕的BitmapFont。
FreeTypeFontParameter fontParam = new FreeTypeFontParameter();
fontParam.size = 14;
FreeTypeFontGenerator generator2 = new FreeTypeFontGenerator(Gdx.files.internal("data/font.ttf"));
labelFont = generator2.generateFont(fontParam);
labelFont.setScale(1f/BOX_SCALE);
labelFont.setColor(Color.BLACK);
如果我的BOX_SCALE值設置爲1,則TEXT按鈕動作正常,但我需要模擬Box2D的世界。我想我可以爲每個按鈕創建單獨的標籤並手動定位它們,但我無法弄清楚爲什麼會發生這種情況。如果有更清潔的解決方案,也感興趣。
謝謝你的回覆。過濾器部分使文本看起來更好,但使用setUseIntegerPositions爲false仍然不能解決問題。 – sheitan