感谢您查看我的问题。
我正在为我正在制作的游戏制作一个菜单,我想将游戏的标题放在主菜单的中心。我在 Stack Overflow 上查看了几个问题,但找不到答案。
问题
我遇到的问题是,每当我调用我的centerString()
方法时,它都会将它放在 y 轴的中心,而不是 x 轴的中心。我在这里做错了什么?
代码
方法代码
private void centerString(String txt, int width, int height, Graphics g, Font font) {
FontMetrics metrics = g.getFontMetrics();
int x = (width - metrics.stringWidth(txt)) / 2;
int y = (metrics.getAscent() + (height - (metrics.getAscent() + metrics.getDescent())) / 2);
g.setFont(font);
g.drawString(txt, x, y);
}
哪里叫
final Font fnt = new Font("Arial", Font.BOLD, 36);
centerString("ThatMarioEngine", toInt(screenSize.getWidth()), toInt(screenSize.getHeight()), g, fnt);