如何在 paintComponent 方法中初始化和绘制矩形变量



我一直在尝试为我的游戏添加碰撞,这似乎是小菜一碟,我已经知道如何绘制矩形。但是我需要那个矩形用一些东西来表示,一个变量。但似乎没有像g.drawRect(myRectangleVariable)这样的方法。我需要做一些 if 语句检查交集,但如果我没有矩形变量,那么我该比较什么?如果你们需要我的任何代码,请告诉我。

为什么不干脆做

g.drawRect(myRectangleVariable.x, 
           myRectangleVariable.y, 
           myRectangleVariable.width, 
           myRectangleVariable.height);

所以创建一个变量来保存你的Rectangle :p

Rectangle rect = new Rectangle(0, 0, 50, 50);
g.drawRect(rect);

您应该使用 2D 形状对象,如矩形;

喜欢:

    Graphics g = // get your graphic object from Component
    Graphics2D g2d = (Graphics2D) g;
    java.awt.geom.Rectangle2D.Double rect = new Rectangle2D.Double(x, y, width, height);
    g2d.draw(rect);

好处: 您将获得许多功能,例如寻找十字路口和其他花哨的 2D 事物。

首先,像这样创建矩形变量(只需在 Rectangle 参数中输入矩形的坐标和大小):

Rectangle rectangle = new Rectangle(x, y, width, height)

接下来,使用 graphics2D 进行绘制。使用 g2d.draw() 函数,因为 drawRect() 函数不接受矩形。

g2d.drawRect(rectangle)

这就是你的做法。

这样做而不是仅仅使用 drawRect() 函数的好处是,您可以使用矩形作为按钮,因为您可以检查鼠标是否在矩形中并已单击它。然后,您可以更改矩形上的内容(例如大小),使其更加花哨和有趣。

附言如果您不了解鼠标部分,只需搜索MouseMotionListener和MouseListener。

相关内容

  • 没有找到相关文章

最新更新