質問

アルゴリズムの六角グリッドを描画する最も簡単な方法は何ですか?どのように私はデータでそれらを提示しなければならない?

例えば、正方形グリッドで、I可能性だけX-Y座標を保存..

役に立ちましたか?

解決

だから、六角はAS3のゲームのためのきちんとしたライブラリのですが、それは可能性があることを、いくつかの六角クラスを持っていますあなたの研究で便利です。 Flashの六角形のタイルに関するいくつかの非常に良い詳細を持っているのこの記事ます。

他のヒント

がありヘクス座標を管理する方法はいくつかあり、それらのほとんどはunintuitivelyレンダリングのためだけに重要であるのx-y座標にマッピングを主張します。極座標のいくつかの形式は、通常は最高です。私は非常に便利なポイント・オブ・リファレンスAIや他の検索木のように計算され、ほとんどのベクトル計算を管理するためのperlのライブラリを持っています。

http://en.wikipedia.org/wiki/Polar_coordinate_systemする

安い席

、極座標プロット点(標準XY直交座標グラフ等)起源としては、(デカルト等)ベースラインとしてベクトルをピックアップした後(大きさ、度)としてポイントを指定する。

これは実際にマップする六角でホームランを打つ

は、すべての純粋な角度が60度の倍数であるということです。もし各ヘクス側に面する((A、B、D、E、F、Gを割り当てる)と大きさと対向するようにベクターを適用した場合、いくつかの有用な特性が現れる。

1)すべてのヘクスは、隣接する2つのベクトル(または第二のベクターは大きさ0または同一の要素である単一のベクター)の和として表すことができます。例えば図1A + 1B = 1a1b又は1b1a。いずれにせよ、それは2ヘクスのトラバーサル、2の大きさだし、原点(0,0)から固有の六角を指定します。 2)非隣接ベクトルは常に、これらの規則を適用する二つの隣接ベクトルに簡略化することができます。 2)否定:(a)+(d)= 0、(b)+(e)= 0、1C + 1F = 0、例えば 3)組み合わせ:(a)+(c)= 1B、1B + 1D = 1C、1C + 1E = 1D、1D + 1F = 1E、1E + 1A = 1F

は心の中でこれらの原則を維持、実空間を通過しなければならないミサイルは、連結以下のトラバースの順序としてベクトルを維持する必要があります。図1A + 1A + 1C + 1Cは、2つのうちヘクスと急激次いでバンク(120度)移動のみ2ヘクス離れてトラバーサルを終了、2つのヘクスを移動するが、それから、もちろんオフ60度の初期方向のミサイルを表します。

ターゲティングコンピュータまたは得られる爆発が、しかし、唯一のようにそれらの規則を使用して、これらのベクターを簡素化することが重要であってもよいし、範囲を気にしてもよいです。任意の2点間の最短距離を把握するために、単にベクターを連結し、それらを単純化する。

また、ヘクスを作成し、それをレンダリングするのは簡単です プロパティを原点として六角オブジェクトを作成し、マグニチュード= 0、ベクトル= NULL、ラベル(オプション)=いくつかの文字列(私はこの人間が読める値作るのが好き)、名前= 0(マグニチュードおよびベクターの連結)、および終了し=アレイ(あなたがワームホールやその他のを除けば、6つのノードを移入します)。 起源はあなたが地図の中心を作るために選択したピクセルを中心にプロットします。 進をレンダリングします。 マップにRADIUSを選択してください。

foreachの大きさ、 ---隣接ベクトルの各組み合わせと共に環を取り込みます。そこにこれを行うにはいくつかの方法があるが、最も簡単な塩基として単一のベクターを選択した後、60度ターンと適切な方向と軌道にマグニチュードヘクスを横切るあります。例えばマグニチュード3の場合、スタートは3Eで、その後、横断最後の六角と新しいシングル進ベクトルの総和として各進を計算3A、3B、3C、3D、3E、3Fに行きます。 ---これらのヘクスのそれぞれにおいて、中心画素があなたの起点画素に対して相対的かつ進

をレンダリングしなければならない計算にいくつかのTRIGを適用 誰かを助け

希望。ヘックスマップの岩。それらをレンダリングするビットを吸うます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top