1

最近、Android で六角形を描画する方法についてこの質問をしました。Graphics受け入れられた回答で、(通常のJavaとオブジェクトを使用する場合の11行と比較して)[反復]コードの多数の行を使用する必要があることがわかった後Polygon、解決策を探し始めました。libGdx にPolygonクラスがあることがわかりました。グラフィッククラスを置き換えるなど、わずかな変更を加えて、リンクされた質問(質問の最初のコード)のコードを実装しようとしました。

最初にAPIをチェックせずにこれに出くわしたところ、JavaPolygonクラスとは異なり、libGdxPolygonクラスにはコンストラクターが1つしかないことがわかりました。頂点を保持する float 配列です。vertices[6]残念ながら、フロートをコンストラクターに配置した後、コードは機能しませんでした。エラーはありませんが、私の望ましい結果ではありません。

次に、API を介して検索するという骨の折れる作業を開始しました。目的の効果 (最初の戦略ゲームの 16 進マップの描画) を実現するために使用できると思われるいくつかのクラスを見つけました。Polygon クラスには、実装できると思われるメソッドもいくつかあります。

しかし、私は、他の多くのアマチュア プログラマーと同様に、例によって最もよく学ぶ傾向があります。他の誰かの実装を研究した後、私はいつも自分の望む結果を再現することができました. この問題は私を困惑させているので、誰かが詳細な説明でこれを行う方法の例を挙げてもらえますか. また、いくつかの Google 検索を行って、例を見つけようとしました。六角形の計算は簡単ですが、六角形を描くのは大変なようです。

(Dropboxにバックアップするのを忘れていなければ、コードを質問に追加したでしょう。現在、ほとんどの日と同じように、コードを保存している信頼できるRCA Androidタブレットではなく、iPadを使用して立ち往生しています)

編集:

私の実際の質問はタイトルです。直接的または単純な方法でこれを行うことができない場合は、その理由を説明してください。

4

1 に答える 1

1

あなたの質問を理解できれば、これらのリンクを組み合わせると、あなたが望むものを作成するのに役立つかもしれません:

1- http://www.alcove-games.com/advanced-tutorials/isometric-tile-picking/

2- http://www.gdreflections.com/2011/02/hexagonal-grid-math.html

3-他のリンクを見て、このリポジトリをコーディングしてください: http://code.google.com/p/libgdx-tiled/source/browse/#svn%2Ftrunk%2Flibgdx-tiled-hex-desktop%2Fsrc%2Fgame%2Fhex

http://code.google.com/p/libgdx-tiled/source/browse/#svn%2Ftrunk%2Flibgdx-tiled-hex-desktop%2Fsrc%2Fapp%253Fstate%253Dclosed

http://code.google.com/p/libgdx-tiled/source/browse/releases/gdx-tests/TiledMapTest.java

http://code.google.com/p/libgdx-tiled/source/browse/trunk/libgdx-tiled-hex-desktop/src/game/Game.java

コメントが多すぎるため、コメントは入れません。この情報が有効でない場合は、通知して削除してください

于 2015-05-15T17:07:03.850 に答える