以下代碼應該用空格替換tilemap索引,但不會發生任何反應。Pacman Tilemap無法正確更改
tilemap的:
var tilemap = [
"wwwwwwwwwwwwwwww",
"wmmmmmmmmmmmmmmw",
"wmwmwmwwwwmwmwmw",
"wmmbwmmmmmmwbmmw",
"wmwwwwwwwwwwwwmw",
"wmwmmmmssmmmmwmw",
" mwmwwwsswwwmwm ",
"wmwmwwwwwwwwmwmw",
" mwmwmmmmmmwmwm ",
"wmwmwmwwwwmwmwmw",
"wmwmmmmmmmmmmwmw",
"wmwmwwwwwwwwmwmw",
"wmwmwbmmmmbwmwmw",
"wmwmwmwwwwmwmwmw",
"wmmmmmmmmmmmmmmw",
"wwwwwwwwwwwwwwww",];
代碼改變tilmap:
if (Player.x > j*25 &&
Player.x < j*25+25 &&
Player.y > i*25 &&
Player.y < i*25+25
) {
tilemap[i][j] = ' ';
}
是什麼奇怪的是,如果它是tilemap的[I],甚至tilemap的研究[J],而不是tilemap的[I] [ j],它會做你會想到的,並且tilemap [i] [j]用於遍歷它所在的循環中的tilemap。換句話說,這改變了tile地圖中的整個行:
if (Player.x > j*25 &&
Player.x < j*25+25 &&
Player.y > i*25 &&
Player.y < i*25+25
) {
tilemap[i] = ' ';
}
這已經很晚了,但有很多用處,但一個乾淨的方法是使用'var map = [「www ...」 ...]的forEach(函數(E){e.split( 「」);});'。然後你的語法就像預期的那樣工作,不會弄髒代碼。 – Nolo