c#.netのクリック可能な16進グリッド


7

プレイヤーが静的マップ上のヘクスをクリックして次の遭遇をもたらすWindowsフォームベースのアドベンチャーゲームを作成したいと思います。私はすでにマップを持っており、それをスキャンして.bmpファイルに変換する予定です。私の問題は、マップイメージをゲームコードに関連付ける方法がわからないことです。間違えない限り、何らかのイメージマップコントロールを使用する必要があると思います。その場合、各ヘクスを個別にプロットする必要がありますか、それともマップ全体を一括してプロットする方法はありますか?この記事を見つけましたが、それが自分のやりたいことに関連しているかどうかはわかりません。一般的な情報や関連記事へのリンクを探しています。ありがとう。


あなたが投稿したリンクはすべてを非常にうまく説明していると思います。数学が説明されているので、ユーザーがマップ上でクリックした六角形を把握できるはずです。個々のタイルを描画すると、巨大なスキャン画像を使用するよりも柔軟性が高まる場合があります。タイルグラフィックを交換する必要がある場合を考えてみてください。
bummzack 2010

地図に既に六角グリッドがあることを忘れていました。それは本当に小さな地図です-たったの25 x 10ヘクスで、それは手描きの地形、地名などを持っています。それが何かを変えるかどうかわかりません。
Raven13

回答:


15

私はアミットのゲームプログラミング情報が本当に好きで、六角形のグリッドに関するセクション全体があります。おそらく、これらのリンクのいずれかが参考になると思いますか?

ここに彼が与えるリンクのリストがあります:

これが役に立たない場合は、お詫び申し上げます。Windowsフォームはゲームを開発するための理想的なプラットフォームではありませんが、グリッドの正方形ごとに1つの画像があり、それにOnClickイベントを与えると想定しています。ただし、コーナーの重なりの問題があります...(グリッドイメージが配置されている正方形のイメージの透明なコーナー)。従来のゲームでは、上記の情報を使用して、クリック座標(画面スペース)を六角形のグリッド座標(リンクの詳細)に変換する方法を理解し、適切に処理します。


このサイトは、C#/ WPFで16進グリッドを実装していたときに私にとって非常に貴重でした。そこにはたくさんの良い情報があります。
Mike Strobel、2010

うわー、アミットはまだ起こっている!私はそれを10年以上前に学校でA *を学ぶために使用しました。
tenpn

+1過去からの爆風。これらのチュートリアルを90年代後半に見たときのことを覚えています。素晴らしいリンク!
Larry Smithmier、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.