次のようなインスタンス変数があります。
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 クラスのインスタンスを初期化しようとしましたが、同じ結果が得られました。