我想要能够获取我点击的瓦片的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