所以,我正在使用A* Pathfinding
。我得到了它,但它不能一直工作。它一直有效,直到右边的最后4
列。奇怪的。
它一直有效,直到X为10或更小。这很奇怪,因为Y
的最大值是10
。也许它在一起?我不知道。但是我的地图是15 columns
10 rows
。以下是一个在线示例:http://mystikrpg.com/html5/
尝试点击地图右侧,看看它不起作用?现在尝试点击某处,X
为10或更低。它的工作原理应该如此。
我得到的一个有趣错误是Uncaught TypeError: Cannot read property '8' of undefined
。
8
是您点击的Y
。如果单击右侧的第一个灰色块(因为第0行被关闭)。然后,8
会说1
。
这是它放置节点的部分。
// Creates a Graph class used in the astar search algorithm.
function Graph(grid) {
var nodes = [];
var row, rowLength, len = grid.length;
for (x = 0; x <= 10; x++) {
row = grid[x];
nodes[x] = new Array(15);
for (y = 0; y <= 15; y++) {
nodes[x][y] = new GraphNode(x, y, row[y]);
}
}
this.input = grid;
this.nodes = nodes;
}
答案 0 :(得分:2)
您的loadmap
函数返回一个包含11个元素的数组。
例如,当x_block
为13时,graph.nodes[x_block][y_block]
将返回undefined。