要素 (建物) が間違った位置に表示される理由。クリック後、ベースからダウンロードした後と同じコードを使用します。
このコードは、要素(建物)をドロップした後に使用します。このコードはうまくいきます。
else if (build[row] != null && build[row][col] != null) {
tilePositionY -= building.height - tile.height;
tilePositionX -= (building.width / 2) - (tile.width / 2);
context.drawImage(building, Math.round(tilePositionX), Math.round(tilePositionY), building.width, building.height);
}
このコードは、ベースからダウンロードした後に使用します
if (oldBuild[row] && oldBuild[row][col]){
tilePositionY -= building.height - tile.height;
tilePositionX -= (building.width / 2) - (tile.width / 2);
context.drawImage(building, Math.round(tilePositionX), Math.round(tilePositionY), building.width, building.height);
}
ajaxリクエスト
var oldBuild = [];
$.ajax({
type : "GET",
url : "dane.php",
async : false,
success : function(msg) {
oldBuild = msg;
}
});
dane.php
$sql = mysql_query("SELECT * FROM test");
$return=[];
while($RES = mysql_fetch_array($sql))
{
if(!isset($return[$RES['row']]))
$return[$RES['row']]=[];
$return[$RES['row']][$RES['col']]= true; //albo rodzaj budynku
}
echo json_encode($return, JSON_FORCE_OBJECT);