0
我有一個瓦片系統,其中每個瓦片是32x32像素。我試圖做一個函數,其中基於xy座標參數返回瓦片的類型,但我很難找出如何正確地將xy座標轉換爲我擁有的32x32網格系統。舍入到最接近的多個
function getTileAtCoordinates(x, y) {
if (x < 32) x = 32;
if (y < 32) y = 32;
xTile = x;
xTile = xTile - (x % 32);
xTile = x/32;
yTile = y;
yTile = yTile - (x % 32);
yTile = y/32;
return getMapTile(xTile, yTile);
}
getMapTile函數顯然是從2維數組(x和y)獲取tile類型。出於某種原因,該函數偶爾會嘗試使用十進制值,如果我的數學正確不應該發生 - 因爲十進制值永遠不會傳遞給函數。 (32,32)然後轉換爲(1,1)和(65,33)將轉換爲(3,2)。我想要完成的是如果座標是(32,32)。
你是怎麼調用這個函數的? – 0x499602D2
如果十進制值的整數部分是正確的,你可能會明確地將其轉換爲一個整數,而不用擔心它...... – Perkins
@David我用玩家的x和y座標來調用函數,這會都是正整數。 –