1

所以,我正在与A* Pathfinding. 我得到了它的工作,但它并没有一路工作。它一直有效,直到4右边的最后一列。诡异的。

它一直有效,直到 X 小于或等于 10。这很奇怪,因为Y' 的最大值是10。也许是在一起了?我不知道。但我的地图是15 columns10 rows. 这是一个在线示例: http: //mystikrpg.com/html5/

试试点击地图右侧,看看怎么不行?现在尝试单击某处,因此X为 10 或以下。它可以正常工作。

我得到的一个有趣的错误是Uncaught TypeError: Cannot read property '8' of undefined.

8Y您单击的位置。如果您单击右侧的第一个灰色块(因为第 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;
}
4

1 回答 1

2

您的loadmap函数返回一个包含 11 个元素的数组。

x_block例如,当是 13 时,graph.nodes[x_block][y_block]返回未定义。

于 2012-05-04T08:57:56.460 回答