2016-05-06 66 views
1

因此,由於我似乎無法將字體放到表中並將其擴展到頂部和右側,我不知道在屏幕右上角繪製字體的解決方案是什麼。Libgdx將位圖字體對齊屏幕的右上角

我想這一點:

highScoreFont.draw(batch, "" + getHighScore, Gdx.graphics.getWidth() - 1070, Gdx.graphics.getHeight() - 650); 

這完全對齊它,當我在我的Xperia Z1擁有的1920x1080分辨率測試它。但是當我在800x400的Nexus S上測試它時,對齊方式完全錯誤,字體會在屏幕的左下角顯示。

任何解決方案?

回答

0

使用scene2d,您可以對錶使用BitmapFont,您只需使用Label而不是直接使用BitmapFont。

BitmapFont font = ...; 
Label label = new Label(new LabelStyle(font, Color.WHITE)); 
Table table = new Table(); 
table.add(label).expand().top().right(); 

這是首選,因爲場景會縮放到您的設備,您不必擔心設備的屏幕尺寸。

使用Gdx.graphics.getWidth()會返回設備的寬度,不一定是您的視口寬度,因此使用該值定位元素會導致設備之間的不一致。硬編碼位置通常變得非常難以維護,但如果你想走這條路線,我建議根據視口大小來查找定位元素,而不是從Gdx.graphics返回的值。

+0

這工作完美。但如何添加右邊距 –