-1

我正在尝试制作一个简单的游戏,其中随机大小和颜色的方块出现在屏幕上的随机位置,你必须点击它们。您点击的次数越多,您的分数就越高。

我有一切工作除了,我不知道如何制作它,这样当你点击一个正方形时它就会消失。

这是我的矩形代码

g.fillRect(Cube.cubePosX, Cube.cubePosY, Cube.cubeSize, Cube.cubeSize);

位置、大小和颜色已经预先确定并在另一个类文件中随机选择。

4

3 回答 3

2

建议:

  • 不要对您正在绘制的矩形进行硬编码。
  • 而是在绘制 JPanelArrayList<Rectangle>的方法中创建一个在 for 循环中绘制的矩形集合。paintComponent(...)
  • 然后,当用户单击它们时,将它们从 ArrayList 中删除。
  • 这将在 MouseListener 中完成,并再次使用 for 循环,
  • 但关键是这个循环向后迭代。这样做的原因是所有其他“顶部”的矩形是最后绘制的。如果单击,它们应该是第一个删除的。
  • repaint()移除 Rectangle 后,您将调用绘图 JPanel(或 JComponent)。
于 2013-07-22T00:44:38.370 回答
2

我正在尝试制作一个简单的游戏,它会在屏幕上的随机位置出现随机大小和颜色的方块,你必须点击它们

您也可以为此使用 Swing 组件。有关更多想法,请参阅使用形状。您将为每个组件添加一个 MouseListener,并且您可以在单击该组件时将其从面板中删除。

即使您不想使用组件,您仍然应该考虑使用 Shape,这样您的游戏就可以拥有更多的形状,而不仅仅是矩形。在这种情况下,Howevercraft 的建议都适用。

于 2013-07-22T00:52:11.187 回答
1

您需要保留某种缓存来告诉您这些矩形在哪里。

您应该使用此缓存来检测它们何时被单击,还应该用于绘制它们。

查看如何创建鼠标侦听器以获取更多详细信息。

你也会发现Rectangle一些用处

于 2013-07-22T00:46:17.563 回答