我一直在尝试为我的游戏添加碰撞,它看起来像小菜一碟,我已经知道如何绘制一个矩形。但是我需要用变量来表示这个矩形。但似乎没有像 g.drawRect(myRectangleVariable)这样的方法。我需要做一些if语句检查交集,但如果我没有矩形变量那么我要比较什么?如果你们需要我的任何代码,请告诉我。
答案 0 :(得分:3)
为什么不做呢
g.drawRect(myRectangleVariable.x,
myRectangleVariable.y,
myRectangleVariable.width,
myRectangleVariable.height);
答案 1 :(得分:2)
因此,请创建一个变量来保存Rectangle
:p
Rectangle rect = new Rectangle(0, 0, 50, 50);
g.drawRect(rect);
答案 2 :(得分:2)
您应该使用2D Shape对象,例如矩形;
像:
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事物。
答案 3 :(得分:0)
首先,像这样创建矩形变量(只需在Rectangle参数中输入矩形的坐标和大小):
Rectangle rectangle = new Rectangle(x, y, width, height)
接下来,使用graphics2D进行绘制。使用g2d.draw()函数,因为drawRect()函数不接受矩形。
g2d.drawRect(rectangle)
这就是你的做法。
执行此操作而不是仅使用drawRect()函数的好处是您可以使用矩形作为按钮,因为您可以检查鼠标是否在矩形中并单击了它。然后,您可以更改矩形上的内容(例如大小),使其更加精美有趣。
P.S。如果您不了解鼠标部分,只需搜索MouseMotionListener和MouseListener。