私は、軸測(等角ですが、角度のあるビュー)タイルベースのゲームを開発しています。
タイルシステムは正常に機能しています。次に、入力の問題に移ります。
タイルは、その背後にあるロジック(配列)と視覚的に一致していません(整列されていない/オフセットされたひし形)。
私が「google-fu」で見つけた多くの方法の中で、入力に変換(「回転」)を適用することは、(コード量的に)実装が簡単で、パフォーマンス的にも優れているようです。
問題は、私が見つけたすべての情報源について、どの数字がどこから来ているのか、また数式がそれらに対して何をしているのかを実際に把握できないことです。
それで、「アフィン変換」の数式の説明をお願いします(これが名前の場合、よくわからないので...)
この質問に対する@Yochai_Timmerの答えは私が使いたいものですが、値がどこから来ているのか(ほとんど*)、またそれらに何が行われているのかわかりません。
[ほとんど*]:「28」はタイルの半分の幅と全高、「14」は半分の高さ、「56」は全幅です...おそらく...しかし、それは私がそれから得たほとんどすべてです、正しいかどうかにかかわらず、とにかく私はまだ立ち往生しています。
より明確な答えが得られる場合は、私自身のタイルはに80 width
よる46 height
ものであり、同じ方法でそれらを適用(レンダリング)しています(タイルの右上隅がタイル1x2y
の中央にある1x1y
など)。 。)
また、私が使用しているのはJavaで、APIはSlick2Dです。したがって、数式の計算に役立つ隠し関数/クラス(例:、、Math.sen()
... Math.cos()
)、または一般的な問題を知っている場合は、それらも指摘してください。非常に役立つ可能性があります。