4

我想开始编写一个名为“风险”的游戏项目,我的第一个目标是正确构建地图。所以从逻辑上讲,每个区域都应该是一个 JButton,但 JButton 是面向矩形的。此外,我知道每个区域都应该是一个组件,因此我可以为每个区域使用鼠标事件侦听器。我的问题是

  • 我应该尝试使用坐标、线条、形状等来绘制每个区域吗?或者
  • 有没有办法定期绘制和组合每个区域?

另一方面,这是游戏地图的链接。

风险地图

4

2 回答 2

4

尝试制作固定的领土,因此您不必为调整实际领土的大小而头疼,只需更改您最近占领的领土的颜色,就像在 Dune2 中一样,如果您知道该游戏的话。而且我认为,您绝对应该将那个 jbutton 放在地图上的数字下方(或者,如果您将数字替换为地区名称并将该按钮放在下方,那肯定会更好)。我希望,我的回答回答了你的疑问:)

于 2013-02-27T21:55:27.000 回答
4

我觉得这将是很多工作。简单的方法是将 JButtons 放在数字下方。

如果您仍然倾向于制作形状不规则的可点击区域,我建议为每个国家/地区创建 Polygon (java.awt) 实例。它们是使用定义角的 x 和 y 点的数组制作的。方便的是,有一个 Polygon.contains(x, y) 方法可以让您知道 (x, y) 是否在您的多边形中。如果您使用覆盖整个地图的较大 JPanel 并获取鼠标相对于 JPanel 的位置,则可以通知每个国家/地区是否有鼠标在其中。

于 2013-02-27T23:53:11.500 回答