質問
私が使用しているLöve2Dの小さなゲームを書くため。 Löve2DはLuaのためのオープンソースのゲームエンジンです。私が遭遇してる問題は、非整数位置でそれを描く際に、いくつかのアンチエイリアス・フィルタが自動的にあなたのスプライトに適用されていることである。
love.graphics.draw( sprite, x, y )
XまたはYがラウンド(例えば、X = 100.24)でない場合、そこで、スプライトがぼやけ現れます。 (x、y)はスプライトの中心を指しているため、スプライトのサイズは、偶数でない場合も同じことが起こります。例えば、31x30大きいスプライトは、そのピクセルが非整数位置に描かれているので、再びぼやけて表示されます。
私はピクセルアートを使用しておりますので、私はそうでない技術は、この効果によって破壊され、このすべての方法を避けたいです。私は今まで使用していますこの問題を回避するには)(math.floorの呼び出しを使用してコードを散らかすことによって円形であること座標を強制することであり、ペイントプログラムで透明なピクセルの行または列を追加することによっても大きさを持つように、すべてのスプライトを強制、必要に応じてます。
私はプログラムの起動時に呼び出すことができますアンチエイリアスを無効にするには、いくつかのコマンドがありますか。
解決 3
、私は他の場所で尋ねてきたと私は求めています何がすでに機能として要求されていることが分かった:<のhref = "http://love2d.org/forum/tracker.php? P = 2&T = 7" のrel = "nofollowをnoreferrer"> http://love2d.org/forum/tracker.php?p=2&t=7 の
だから、私が使用している愛の現在のバージョン(0.5.0)はまだアンチエイリアスフィルタを無効にすることはできませんが、機能は、エンジンのSVNバージョンですでにます。
他のヒント
あなただけのエイリアシング、その名を取得します!なぜあなたは、非整数位置に描画されている、とあなたはそれがそれらの端数部分についてはどのように過ごしたいですか? (最も近い値にそれらのラウンド?それらを切り捨てる?何についての彼らは否定している場合は?)
個人的に私は一人で、低レベルのグラフィックスを残して、あなたが必要と丸めまたは切り捨てを行い、xとyのためのアクセサを使用するようにコードを変更するであろう。これはあなたのピクセルアートを使用して、後で必要になる場合がありますことにアンチエイリアシング保ちながら、整数境界上に描かれて終わる保証します。
別の可能性のある作業は周りの安価な回避策として、あなたの整数を丸めるmath.floor()を使用することであってもよい。