2009-03-25 9 views
2

私は小規模戦略を実装しようとしています。ゲームでは をJavaで実装しています。GUIはJFaceとSWTで作成されています。GUI、Java、SWT、世界地図の表現

私の挑戦は、国がクリック可能なボタンとして機能する世界地図 のGUI実装を書くことです。しかし、国番号 には固定された境界がなく、長方形ではなく、単純に方法がありません 私はグリッドレイアウトで記述することができます。

これは、この種のプロジェクトを実装しようと私の初めてです、 それは(文明のような)タイルベースのマップですかそれはピックスマップとして表示されます場合は、各タイルの所有権を救うことができる

答えて

3

をアドバイスしてください/ピクセルを2次元配列に配列する。単純にクリック可能なピックスマップをキャンバスに表示するだけで、MouseListenerを追加できます。 MouseListenerインタフェースを実装し、あなたのリスナーに...

Country clickedCountry = myCountriesOnMap[X][Y]; 

:あなたは、座標(X、Y)でのクリックイベントを取得した場合、あなただけのようなあなたの国を得ることができます。 myCountriesOnMapの型はCountry [] []です。

もちろん、スタートアップ時やテリトリーが征服された場合には、各タイル/ピクセルの所有権を解決するアルゴリズムが必要です(これが起こるかどうかわかりません)。あなたはあなたの国をポリゴンとして定義しなければならないかもしれません(あなたはHTMLマップのためにそうするでしょう)。似たようなジェットをしていないので、私はあなたにこれを手伝ってもらえませんが、Googleで何かを見つけることができます。

挨拶

ザッハー

0

OpenStreetMapデータを使用してみてください。正確な国境と良好な画像エクスポートの可能性が含まれています。

Key:border tagにすべての罫線が表示されます。それを抽出して、クリック可能な領域を計算することができます。