ブリッティングを使用したタイルマップの実装に取り組んでいます (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 ポスト カメラ位置でのみ表示されます。
これらの浮動小数点の問題が継ぎ目の原因であると考えるのは理にかなっていますか? とにかく半分のピクセルにブリットすることはできないので、目的の値をフロア/ラウンドするだけで安全ですか。
ありがとう!