1

ブリッティングを使用したタイルマップの実装に取り​​組んでいます (Flash ですが、言語に関連しているとは思いません)。私が抱えている問題は、カメラをパンすると、場所によっては 1 ピクセルの継ぎ目が見え始めることです。

ブリッティングポイントを決定する方法は次のとおりです。

var destination : Point = _position.toPoint();

if (camera != null)
{
    destination.x -= camera.position.x;
    destination.y -= camera.position.y;
}

// the actual blit, not really relevant:
canvas.bitmapData.copyPixels(_bitmapData, _sourceRectangle, destination, null, null, true);

カメラをスクロールすると、位置が非常に不安定になっていることがわかります。ここにいくつかの痕跡があります:

     pre-camera: 443 534
     post-camera: 396.3333333333333 294
     pre-camera: 476 534
     post-camera: 429.3333333333333 294
     pre-camera: 509 534
     post-camera: 462.3333333333333 294

継ぎ目は、.3333333333 ポスト カメラ位置でのみ表示されます。

これらの浮動小数点の問題が継ぎ目の原因であると考えるのは理にかなっていますか? とにかく半分のピクセルにブリットすることはできないので、目的の値をフロア/ラウンドするだけで安全ですか。

ありがとう!

4

0 に答える 0