您好我正在研究完全用java编写的2D游戏引擎。有没有办法集中图形对象(g.drawString(x,y,z)。
如果可以通过Graphics和DefaultToolkit完成,那将是最好的。
非常感谢你:)
答案 0 :(得分:1)
简单的数学。我们将对象置于居中位置,使其居中。
对象宽度 - w
对象高度 - h
区域宽度 - aW
区域高度 - aH
//跟随中心坐标是应放置左上角的坐标,以使对象位于中心
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课程,这样可以衡量文字的大小。