我一直在尝试在我的游戏中添加碰撞,这似乎是小菜一碟,我已经知道如何绘制一个矩形。但我需要用一个变量来表示那个矩形。但似乎没有像g.drawRect(myRectangleVariable)这样的方法。我需要做一些 if 语句检查相交,但如果我没有矩形变量,那么我要比较什么?如果你们需要我的任何代码,请告诉我。
问问题
3951 次
4 回答
3
为什么不只是做
g.drawRect(myRectangleVariable.x,
myRectangleVariable.y,
myRectangleVariable.width,
myRectangleVariable.height);
于 2013-10-16T19:10:56.887 回答
2
所以创建一个变量来保存你的Rectangle
:p
Rectangle rect = new Rectangle(0, 0, 50, 50);
g.drawRect(rect);
于 2013-10-16T19:08:31.647 回答
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 事物。
于 2013-10-16T19:22:09.683 回答
0
首先,像这样创建矩形变量(只需在 Rectangle 参数中输入矩形的坐标和大小):
Rectangle rectangle = new Rectangle(x, y, width, height)
接下来,使用 graphics2D 来绘制它。使用 g2d.draw() 函数,因为 drawRect() 函数不接受矩形。
g2d.drawRect(rectangle)
你就是这样做的。
这样做的好处不仅仅是使用 drawRect() 函数,您可以将矩形用作按钮,因为您可以检查鼠标是否在矩形中并单击它。然后你可以改变矩形上的东西(比如大小),让它更花哨和有趣。
PS 如果您不了解鼠标部分,只需搜索 MouseMotionListener 和 MouseListener。
于 2020-10-09T09:55:00.863 回答