0

canvas を使用して HTML5 でゲームを作成しています。

CanvasRenderingContext2D.drawImage を使用して、画像からトリミングされたテクスチャを描画すると、画像内の周囲のテクスチャが少し見えることがあります。

例として、この tileset: font "tileset"から独自のテキストをレンダリングすると、ブラウザー ウィンドウの幅と高さによっては、隣接するタイルが垣間見えることがあります。ここでは、下に文字が少し表示されています: text。ブラウザの高さを 1 ピクセル変更すると、消えます。

グラフィックの不具合が発生するかどうかは、ブラウザ ウィンドウの高さ/幅に依存するようです。高さを 1 ピクセル変更すると消え、もう 1 ピクセル変更すると元に戻ります。

これを修正する方法を知っている人はいますか?そうでない場合は、画像をピクセルごとに手動で描画するか、タイルセットに 1 ピクセルのマージンを追加する必要がありますか?

4

1 に答える 1

0

キャンバスの解像度は 1/2 ピクセルなので、クロップ領域を 0.5 ピクセル拡大して、ノイズがなくなるかどうかを確認できます。

それでもうまくいかない場合は、より大きなスプライトシートを使用することに戻ります。

より大きなスプライトシートを使用することにした場合は、 Photoshop で作成したスプライトシート2 倍のサイズのバージョンを次に示します。

于 2016-05-01T20:36:26.817 に答える