GUI、java、SWT和世界地图表示

GUI、java、SWT和世界地图表示,java,swt,Java,Swt,我正在尝试实施一个小规模战略,轮流玩游戏 GUI是用Java实现的,使用JFace和SWT制作的 我的挑战是编写世界地图的GUI实现, 国家将作为可点击按钮。然而,各国 没有固定的边界,没有矩形,根本没有办法 我可以想象在网格布局中被描述 这是我第一次尝试实施这种类型的项目, 请告知如果它是基于磁贴的地图(如文明)或显示为pixmap,您可以将每个磁贴/像素的所有权保存在二维数组中。只需在画布中显示一个简单的、可单击的pixmap,并添加一个鼠标侦听器即可。如果您在坐标(X,Y)处获得单击事件,

我正在尝试实施一个小规模战略,轮流玩游戏 GUI是用Java实现的,使用JFace和SWT制作的

我的挑战是编写世界地图的GUI实现, 国家将作为可点击按钮。然而,各国 没有固定的边界,没有矩形,根本没有办法 我可以想象在网格布局中被描述

这是我第一次尝试实施这种类型的项目, 请告知

如果它是基于磁贴的地图(如文明)或显示为pixmap,您可以将每个磁贴/像素的所有权保存在二维数组中。只需在画布中显示一个简单的、可单击的pixmap,并添加一个鼠标侦听器即可。如果您在坐标(X,Y)处获得单击事件,您可以得到您的国家,如:

Country clickedCountry = myCountriesOnMap[X][Y];
。。。在实现MouseListener接口的侦听器中。myCountriesOnMap的类型为Country[]

当然,您需要一种算法,该算法将在启动时或某个区域被征服时(我不知道,是否会发生这种情况)解析每个瓷砖/像素的所有权。可能您必须将您的国家定义为多边形(就像您为HTML地图所做的那样)。在这方面我帮不了你,因为我还没有做过类似的事情,但我相信你会在谷歌上找到一些东西

问候

Sacher

尝试使用数据。它包含准确的国家边界和良好的形象出口可能性

地图将显示所有边界。您可以提取它并计算您的可点击区域