2017-06-02 10 views
0

私はプログラミングが初めてですが、左/右/上/下で基本的なゲームループを設定する方法を学びました。ダウンコントロール。唯一の問題は、カメラが動いたときにグラフィカルな不具合(前後にジッター)があることです。私はダブルバッファリングを調べましたが、問題はおそらくポジションがどのように格納されているかと考えていますが、私はそれを理解できません。ジッタここ カメラコントロールのあるゲームループの16進グリッドで、ジッタの問題があります(間違った位置のため)

via GIPHY

ビデオは、私は問題が六角クラスとそれが

G2Dによって保存され、変換された方法であると考え、具体的プロジェクトhttps://github.com/Im300/HexTest

です.translate(cam.getX()、cam.getY());

GamePanelクラスによる関数呼び出し。カメラと六角形のクラスを変更して修正しようとしましたが(二重に格納する、四捨五入など)、グリッチは起こり続けます。

私はこの16進グリッドの実装を使用しました。 (Algorithm to generate a hexagonal grid with coordinate system

多くのおかげで簡単にあなたのコードを見てとった後

答えて

0

、それはので、あなたはint型対ダブルスを処理する方法の可能性があります。多少の丸め誤差があなたの問題の原因かもしれません。

私はあなたのカメラとヘックスの両方の "ポイント"の値すべてにダブルを使用することをお勧めします。次に、drawメソッドでそれらの倍数を整数に変換することができます。これにより、ロジック内の潜在的な丸め誤差が実質的に無くなることが保証されます。

+0

私はすべてをダブルに変更しようとしましたが、カメラの速度/線の太さなどによっては、グリッドがわずかに振動するか揺らぐことで動き続けます。カメラの位置と六角の位置の両方を二重に保存して、描画すると切り捨てられても、結果は滑らかなレンダリングにはまだ細かくないようです。 https://giphy.com/gifs/JBzG7UcL5rNvy – lm300Q

関連する問題