複数のレイヤーで構成されるタイルベースのゲームをプログラミングしています。ただし、マップを描画し、CSS を介してキャンバスをスケーリングしようとすると、上のレイヤーのタイルが意図しない境界線を取得するという事実が発生します。タイルを描画するコードは次のようになります。
for (var key in Nodes) {
var currentNode = Nodes[key];
var tileProb = Math.floor(Math.random() * 10 + 1);
if (tileProb < 2) {
currentNode.passable = false;
canvasLayerZero.drawImage(currentNode.img, 0, 0, tileDim, tileDim, currentNode.x * tileDim, currentNode.y * tileDim, tileDim, tileDim);
}
else {
currentNode.passable = true;
canvasLayerOne.drawImage(currentNode.img, 20, 0, tileDim, tileDim, currentNode.x * tileDim, currentNode.y * tileDim, tileDim, tileDim);
};
};
コードが行うことは、基本的に、岩と草の 2 種類のタイルで構成されるランダム化されたマップを作成することです。岩のタイルは下のキャンバスに、草のタイルは上のキャンバスに描かれています。描画されるタイルが岩の場合、passable プロパティが false に設定されます。すでに述べたように、私の問題は、css を介してズームインすると、上部のタイルに境界線が表示されることです。同じキャンバスにすべてを描画すると発生しません。しかし、壁などの後ろを「歩く」ことができるようにするには、複数のキャンバスが必要です。
誰かがそれを取り除く方法を説明できますか?
前もって感謝します!