1

次のようなインスタンス変数があります。

PathFinder finder;

(これは Kevin Glass の A* チュートリアルを使用しているため、PathFinder クラスは同じファイルにあります。ここにリンクしてください: http://cokeandcode.com/index.html?page=tutorials/tilemap2 )

とにかく、私がするとき

finder = new AStarPathFinder(currentMap, 1000, true);

スレッド ""AWT-EventQueue-0" java.lang.ExceptionInInitializerError" で例外が発生します。

currentMap は私の Map クラスのインスタンスであり、初期化されています。1000 は検索されるタイルの最大距離を表し、ブール値は斜めの動きの true/false を表します。まあ、私はあなたにコンストラクターを投げます:

public AStarPathFinder(TileBasedMap map, int maxSearchDistance, boolean allowDiagMovement) {
    this(map, maxSearchDistance, allowDiagMovement, new ClosestHeuristic());
}

静的初期化子と関係があることは知っていますが、他に何があるかはよくわかりません。ああ、別のクラスで同じ AStarPathFinder クラスのインスタンスを初期化しようとしましたが、同じ結果が得られました。

4

1 に答える 1

0

完全なスタック トレースを読んだところ、エラーは、親クラスと子クラスのメソッドのパラメーターが同じではなく、どういうわけか IDE が通知を行わなかったというものでした。

于 2012-07-31T18:39:28.283 に答える