0
你好,我目前正在研究完全用java編寫的2D遊戲引擎。有沒有一種方法來居中圖形對象(g.drawString(X,Y,Z)。在java中居中一個圖形對象
這將是最好,如果這可以通過圖形和DefaultToolkit完成。
三江源非常:)
你好,我目前正在研究完全用java編寫的2D遊戲引擎。有沒有一種方法來居中圖形對象(g.drawString(X,Y,Z)。在java中居中一個圖形對象
這將是最好,如果這可以通過圖形和DefaultToolkit完成。
三江源非常:)
簡單的數學。我們的目標是以中心爲中心,應該以中心爲中心。
對象寬度 - 含
對象高度 -^h
區寬度 - AW
區高度 - 啊
//按照中心座標在哪裏左上角應放在座標以使物體位於中心
centerWidth =(aW-W)/ 2
centerHeight =(aH - H)/ 2
正如您所看到的,您必須知道您放置對象的區域的指標! 如果該區域只是屏幕,則屏幕尺寸可以像這樣使用。
//Some dummy object metrics
int w = 30;
int h = 60;
//Now we find out the area metrics
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int aW = screenSize.width;
int aH = screenSize.height;
//Apply our common formula
int centerWidth = (aW - w)/2;
int centerHeight = (aH - h) /2;
這適用於你認識的物體(它們的寬度和高度)。
文字居中
如果要居中文本,您可以使用FontMetrics類,它可以讓你衡量文字的大小。
先看看[this](http://stackoverflow.com/questions/14284754/java-center-text-in-rectangle/14287270#14287270) – MadProgrammer
字符串是用點來衡量的,而你用像素,並且沒有辦法以像素爲單位繪製字符串,但是您將獲得繪製的像素字符串並將其繪製在中心 – 2013-07-03 06:28:47
是的,您可以居中放置圖形對象。你想在這裏實現什麼。 'g.drawString(x,y,z)'爲你做。你需要如果其他物體可以居中嗎? – blganesh101