我一直在尝试为我的游戏添加碰撞,这似乎是小菜一碟,我已经知道如何绘制矩形。但是我需要那个矩形用一些东西来表示,一个变量。但似乎没有像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。