我想要能夠獲取我點擊的瓦片的xy座標以及它在數組中的位置/索引(「map.tiles」)。Javascript - Tilemap點擊瓦片
創建tilemap的:
var map = {
cols: 8,
rows: 8,
tsize: 100,
tiles: [
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,1,1,2,2,0,0,
0,0,1,1,1,1,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
],
solidTiles : [1,2],
getTile: function(col,row) {
return this.tiles[row * map.cols + col]
}
}
定義鼠標x和y
mouseX = e.pageX-c.offsetLeft; //get mouse's x position
mouseY = e.pageY-c.offsetTop;
渲染瓦片地圖:
for(let c = 0; c < map.cols; c++) {
for(let r = 0; r < map.rows; r++) {
var tile = map.getTile(c,r);
if(tile != 0) { //not an empty tile
renderSheet(
"tiles.png", //spritesheet
(tile-1) * map.tsize, //tile index * tilesize
0, //tile y index
map.tsize, //tile width
map.tsize, //tile height
c * map.tsize, //tile x
r* map.tsize, //tile y
map.tsize, //tile width
map.tsize //tile height
);
}
}
}
請幫助:d
它修復了這個問題嗎? – user2777173