Java矩形位置错误

问题描述

我正在处理 Graphics 类,并注意到我绘制的矩形的位置和大小没有相加。

        // Game.HEIGHT = 800
        // Game.WIDTH = 800
        g.drawRect(Game.WIDTH/2 -50,Game.HEIGHT/2 -50,100,100);

这应该只是使用数学在屏幕的输入处绘制一个矩形,但它是相当偏移的。我觉得我遗漏了一些东西,因为在数学上这应该可行,我可以使用一些解释。

解决方法

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

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

你怎么知道你的 x/y 值是正确的?

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

<div id="flakes"></div>
    <canvas id="canvas">
    </canvas>

这允许您显示参数的值,以确保它们符合您的预期。

您应该使用由 getSize() 方法确定的面板的实际大小,而不是对面板的宽度/高度进行硬编码。