这个arrays出了什么问题……?
我正在制作一个游戏,用户在网格中移动并且必须收集乘客。 我几乎完成了所有事情,除了我需要检查玩家是否在乘客上方移动,如果是,则显示警告框。 这是我的JSFiddle: http : //jsfiddle.net/nZ8vA/9/和之前的: http : //jsfiddle.net/nZ8vA/7/ ,其中包含我以前的数组。 正如您所看到的,我有一个名为map的数组,用于构建网格。
在之前的JSFiddle中,我仍然试图让它检测用户何时收集乘客(地图中的字母“P”)。 在我最近的JSFiddle中,由于此前的帮助,我创建了一个二维对象数组。 地图没有完全构造,它应该看起来像是在第一个JSFiddle中,但它似乎将整行看作一种颜色。 如果您打开控制台并移动整个顶行,则不应该读为绿色。 我也认为它是按颜色读取乘客,这不是我想要的乘客在不同的颜色方块。
有人可以帮助我检测用户何时收集乘客,我有一个function,用“P”检测方块,但我需要保持相同的网格颜色布局。 我希望这是有道理的。
这是function:
老JSFiddle:
function checkPass(cell, row) { var pass = map[row][cell]; console.log(pass); if (pass == "p") { alert("Passenger"); } }
新JSFiddle:
function checkPass(cell, row) { var pass = map[row][cell].letter; console.log(pass); if (pass == "p") { alert("Passenger"); } }
你有一个2x2arrays
var map = [ [ { color: "g", letter: "" }, { color: "g", letter: "" }, ],[ { color: "w", letter: "p" }, { color: "b", letter: "" } ]]; map[0][1] = ... map[1][1] = ... map[1][0] = ... map[1][1] = ...
而你正在绘制一个4×1块
你的地图代码应该是这样的
var map = [ [ { color: "g", letter: "" }, { color: "g", letter: "" }, { color: "w", letter: "p" }, { color: "b", letter: "" } ]];
问题在于数组,因为您的网格有1行,但您的数组有2“行”。 有了它,它一直在为我工作:
[ { color: "g", letter: "" }, { color: "g", letter: "" }, { color: "w", letter: "p" }, { color: "b", letter: "" } ]