グリッドワールドのケーススタディで私の最終的なプロジェクトで私はゲームを作っています。ゲームでは、プレーヤーが "W"キーをクリックするとshiftUp()メソッドが呼び出され、あるインスタンスの他のすべてのアクターを下に移動させて、プレーヤーの移動の錯覚を作成します。これはメソッドの完成した実装ではありませんが、これはグリッド内のすべてのアクターを取得し、Actorを拡張するEnemyというクラスのインスタンスであるかどうかをテストする必要があります。もしそうなら、俳優は一つのスペースを上げるべきです。このメソッドを呼び出すと、enemy.moveTo(...)を呼び出す行でNullPointerExceptionが呼び出されます。これは、nullかどうかをチェックするために発生しません。誰もこれで私を助けることができますか?スレッドで 例外「AWT-EventQueueの-0」のjava.lang.NullPointerExceptionGridWorldの移動アルゴリズム
public void shiftUp()
{
if (((GameGrid)getGrid()).getMinX() != 0)
{
Grid<Actor> grid = getGrid();
if (grid != null)
{
for (int y = 0; y < getGrid().getNumRows(); y++)
for (int x = 0; x < getGrid().getNumCols(); x++)
{
Actor enemy = grid.get(new Location(y,x));
if (enemy != null && enemy instanceof Enemy)
enemy.moveTo(new Location(enemy.getLocation().getRow() - 1, enemy.getLocation().getCol()));
}
}
}
}
例外の完全なスタックトレースとは何ですか? 'getLocation()'が 'null'を返す可能性はありますか? – Jeffrey
これはそれです:スレッド "AWT-EventQueue-0"の例外 – Mobianhero
@Mobianhero、あなたの質問に完全なスタックトレースを編集して追加します。 – Jeremy