1

だから、私はで働いてい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

クリックした場所です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の場合、undefinedgraph.nodes[x_block][y_block]を返します。

于 2012-05-04T08:57:56.460 に答える