Java矩形位置错误

Java矩形位置错误,java,draw,Java,Draw,我正在和Graphics类混在一起,我注意到我画的矩形的位置和大小没有加起来 //Game.HEIGHT=800 //游戏宽度=800 g、 drawRect(Game.WIDTH/2-50,Game.HEIGHT/2-50100100); 这应该是在屏幕的中心画一个矩形,只是用数学,但它是相当偏移。我觉得我遗漏了一些东西,因为从数学角度来看,这应该是可行的,而且我需要一些解释。不是真正的答案,只是调试帮助 你怎么知道面板的实际尺寸是800 您如何知道您的x/y值是正确的 不要对参数使用数学表

我正在和Graphics类混在一起,我注意到我画的矩形的位置和大小没有加起来

//Game.HEIGHT=800
//游戏宽度=800
g、 drawRect(Game.WIDTH/2-50,Game.HEIGHT/2-50100100);

这应该是在屏幕的中心画一个矩形,只是用数学,但它是相当偏移。我觉得我遗漏了一些东西,因为从数学角度来看,这应该是可行的,而且我需要一些解释。

不是真正的答案,只是调试帮助

你怎么知道面板的实际尺寸是800

您如何知道您的x/y值是正确的

不要对参数使用数学表达式。相反,您的代码应该类似于:

int size = 100;
int x = (Game.WIDTH - size) / 2;
int y = (Game.HEIGHT - size) / 2;
System.out.println("Panel size: " + getSize());
System.out.println(x + " : " + y);
g.drawRect(x, y, size, size);
这允许您显示参数的值,以确保它们是您期望的值

不应硬编码面板的宽度/高度,而应使用getSize()方法确定的面板实际尺寸。

张贴正确的演示问题的文章。